(
(let $1 (DataType 'Double))
(let $2 (TupleType $1 (DataType 'Uint64)))
(let $3 (OptionalType $2))
(let $4 '('"key" (DataType 'Uint32)))
(let $5 (StructType '('_yql_agg_0 $3) '('_yql_agg_1 $2) '('_yql_agg_2 $2) '('_yql_agg_3 $3) $4))
(let $6 '('('"_logical_id" '6759) '('"_id" '"b9120960-2a58e99f-c4621f06-b30ec3c") '('"_wide_channels" $5)))
(let $7 (DqPhyStage '() (lambda '() (block '(
  (let $18 '@@["StructType";[["key";["DataType";"Uint32"]];["subkey";["DataType";"Uint32"]]]]@@)
  (let $19 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $18)))
  (let $20 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" '"false")))))
  (let $21 (YtStat '('Id '"Input") '('RecordsCount '"3") '('DataSize '"78") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $22 (YtTable '"Input" $19 $20 $21 '() (Void) (Void) '"/Root/plato"))
  (let $23 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $22 '('"key" '"subkey") (Void) (Void))) '()))))
  (let $24 (Uint32 '1))
  (let $25 (Uint32 '"4"))
  (let $26 (lambda '($41) (block '(
    (let $42 (Uint64 '1))
    (return (Just '((Convert $41 'Double) $42)))
  ))))
  (let $27 (Nothing $3))
  (let $28 (Convert $24 'Double))
  (let $29 (/ $24 (Uint32 '0)))
  (let $30 (IfPresent $29 $26 $27))
  (let $31 (lambda '($36 $37 $38) (block '(
    (let $39 (Uint64 '1))
    (let $40 (IfPresent (/ $24 (- $25 $38)) $26 $27))
    (return $40 (Convert $38 'Double) $39 $28 $30)
  ))))
  (let $32 (lambda '($43 $44 $45 $46 $47 $48 $49 $50) (block '(
    (let $51 (/ $24 (- $25 $45)))
    (let $52 (IfPresent $51 $26 $27))
    (let $53 (IfPresent $46 (lambda '($55) (IfPresent $51 (lambda '($56) (Just '((AggrAdd (Nth $55 '0) (Convert $56 'Double)) (Inc (Nth $55 '1))))) (Just $55))) $52))
    (let $54 (IfPresent $50 (lambda '($57) (IfPresent $29 (lambda '($58) (Just '((AggrAdd (Nth $57 '0) (Convert $58 'Double)) (Inc (Nth $57 '1))))) (Just $57))) $30))
    (return $53 (AggrAdd $47 (Convert $45 'Double)) (Inc $48) (AggrAdd $49 $28) $54)
  ))))
  (let $33 (lambda '($59 $60 $61 $62 $63 $64) $60 '($61 $62) '($63 $62) $64 $59))
  (return (DqPhyHashCombine (WideToBlocks (FromFlow (DqReadWideWrap $23 '()))) '-1073741824 (lambda '($34 $35) $34) $31 $32 $33))
))) $6))
(let $8 (DqCnHashShuffle (TDqOutput $7 '0) '('"4") '0 '"HashV2"))
(let $9 (OptionalType $1))
(let $10 (StructType '('"column1" $9) '('"column2" $1) '('"column3" $1) '('"column4" $9) $4))
(let $11 '('('"_logical_id" '7076) '('"_id" '"f70406c4-8120bf3a-684179c9-c94e1f7e") '('"_wide_channels" $10)))
(let $12 (DqPhyStage '($8) (lambda '($65) (block '(
  (let $66 (NarrowSqueezeToDict (ToFlow (WideFromBlocks $65)) (lambda '($70 $71 $72 $73 $74) $74) (lambda '($75 $76 $77 $78 $79) (AsStruct '('_yql_agg_0 $75) '('_yql_agg_1 $76) '('_yql_agg_2 $77) '('_yql_agg_3 $78) '('"key" $79))) '('Auto 'Many)))
  (let $67 (Condense1 (OrderedFlatMap $66 (lambda '($80) (OrderedFlatMap (DictPayloads $80) (lambda '($81) $81)))) (lambda '($82) $82) (lambda '($83 $84) (AggrNotEquals (Member $83 '"key") (Member $84 '"key"))) (lambda '($85 $86) (block '(
    (let $87 (Member $85 '_yql_agg_0))
    (let $88 (Member $86 '_yql_agg_0))
    (let $89 (IfPresent $87 (lambda '($97) (IfPresent $88 (lambda '($98) (Just '((AggrAdd (Nth $97 '0) (Nth $98 '0)) (AggrAdd (Nth $97 '1) (Nth $98 '1))))) $87)) $88))
    (let $90 (Member $85 '_yql_agg_1))
    (let $91 (Member $86 '_yql_agg_1))
    (let $92 (Member $85 '_yql_agg_2))
    (let $93 (Member $86 '_yql_agg_2))
    (let $94 (Member $85 '_yql_agg_3))
    (let $95 (Member $86 '_yql_agg_3))
    (let $96 (IfPresent $94 (lambda '($99) (IfPresent $95 (lambda '($100) (Just '((AggrAdd (Nth $99 '0) (Nth $100 '0)) (AggrAdd (Nth $99 '1) (Nth $100 '1))))) $94)) $95))
    (return (AsStruct '('_yql_agg_0 $89) '('_yql_agg_1 '((AggrAdd (Nth $90 '0) (Nth $91 '0)) (AggrAdd (Nth $90 '1) (Nth $91 '1)))) '('_yql_agg_2 '((AggrAdd (Nth $92 '0) (Nth $93 '0)) (AggrAdd (Nth $92 '1) (Nth $93 '1)))) '('_yql_agg_3 $96) '('"key" (Member $86 '"key"))))
  )))))
  (let $68 (Sort (Map $67 (lambda '($101) (block '(
    (let $102 (lambda '($108) (Just (Div (Nth $108 '0) (Nth $108 '1)))))
    (let $103 (Nothing $9))
    (let $104 (IfPresent (Member $101 '_yql_agg_0) $102 $103))
    (let $105 (Member $101 '_yql_agg_1))
    (let $106 (Member $101 '_yql_agg_2))
    (let $107 (IfPresent (Member $101 '_yql_agg_3) $102 $103))
    (return (AsStruct '('"column1" $104) '('"column2" (Div (Nth $105 '0) (Nth $105 '1))) '('"column3" (Div (Nth $106 '0) (Nth $106 '1))) '('"column4" $107) '('"key" (Member $101 '"key"))))
  )))) (Bool 'true) (lambda '($109) (Member $109 '"key"))))
  (let $69 (lambda '($110) (Member $110 '"column1") (Member $110 '"column2") (Member $110 '"column3") (Member $110 '"column4") (Member $110 '"key")))
  (return (FromFlow (ExpandMap $68 $69)))
))) $11))
(let $13 (DqCnMerge (TDqOutput $12 '0) '('('"4" '"Asc"))))
(let $14 (DqPhyStage '($13) (lambda '($111) (FromFlow (NarrowMap (ToFlow $111) (lambda '($112 $113 $114 $115 $116) (AsStruct '('"column1" $112) '('"column2" $113) '('"column3" $114) '('"column4" $115) '('"key" $116)))))) '('('"_logical_id" '7088) '('"_id" '"787a2e19-dc8f1ef9-9247860c-f67fcf4e"))))
(let $15 '($7 $12 $14))
(let $16 '('"key" '"column1" '"column2" '"column3" '"column4"))
(let $17 (DqCnResult (TDqOutput $14 '0) $16))
(return (KqpPhysicalQuery '((KqpPhysicalTx $15 '($17) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $10) '0 '0)) '('('"type" '"query"))))
)
