(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '@@["StructType";[["Group";["DataType";"Uint64"]];["Name";["DataType";"String"]];["Amount";["DataType";"Int64"]];["Comment";["DataType";"String"]]]]@@)
(let $3 (Bool 'true))
(let $4 '('"Group" '"Name"))
(let $5 (DataType 'Uint64))
(let $6 (DataType 'String))
(let $7 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '1) '('Type $2) '('SortDirections '($3 $3)) '('SortMembers $4) '('SortedBy $4) '('SortedByTypes '($5 $6))))
(let $8 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" '"false")))))
(let $9 (YtStat '('Id '"Input1") '('RecordsCount '"19") '('DataSize '"1161") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
(let $10 (YtTable '"Input1" $7 $8 $9 '() (Void) (Void) '"/Root/plato"))
(let $11 '('"Amount" '"Group" '"Name"))
(let $12 (YtReadTable! world $1 '((YtSection '((YtPath $10 $11 (Void) (Void))) '('('"unordered"))))))
(let $13 (DqReadWideWrap $12 '()))
(let $14 (lambda '($70 $71 $72) $70 $71 $72))
(let $15 '('"Group" $5))
(let $16 '('"Name" $6))
(let $17 (DataType 'Int64))
(let $18 (StructType $15 $16 '('_yql_agg_0 $17)))
(let $19 '('"_wide_channels" $18))
(let $20 '('('"_logical_id" '2829) '('"_id" '"8e07c3a9-560eae00-b66a1ebd-3539e5b4") $19))
(let $21 (DqPhyStage '() (lambda '() (block '(
  (let $55 (lambda '($56 $57 $58) $57 $58))
  (return (DqPhyHashCombine (WideToBlocks (FromFlow $13)) '-1073741824 $55 (lambda '($59 $60 $61 $62 $63) $61) (lambda '($64 $65 $66 $67 $68 $69) (AggrAdd $66 $69)) $14))
))) $20))
(let $22 '('0 '1))
(let $23 (DqCnHashShuffle (TDqOutput $21 '0) $22 '0 '"HashV2"))
(let $24 (lambda '($77 $78 $79) '($77 $78)))
(let $25 '('Auto 'Many))
(let $26 (lambda '($83) (OrderedFlatMap (DictPayloads $83) (lambda '($84) $84))))
(let $27 '('"TotalAmount" $17))
(let $28 (StructType $15 $16 $27))
(let $29 '('('"_logical_id" '2922) '('"_id" '"d1cabe49-4dade111-84374028-6e5429b3") '('"_partition_mode" '"aggregate") '('"_wide_channels" $28)))
(let $30 (DqPhyStage '($23) (lambda '($73) (block '(
  (let $74 (NarrowSqueezeToDict (ToFlow (WideFromBlocks $73)) $24 (lambda '($80 $81 $82) (AsStruct '('"Group" $80) '('"Name" $81) '('_yql_agg_0 $82))) $25))
  (let $75 (lambda '($85) (Member $85 '"Group") (Member $85 '"Name") (Member $85 '_yql_agg_0)))
  (let $76 (lambda '($92 $93 $94 $95 $96 $97) $95 $96 (AggrAdd $94 $97)))
  (return (FromFlow (WideCondense1 (ExpandMap (OrderedFlatMap $74 $26) $75) $14 (lambda '($86 $87 $88 $89 $90 $91) (Or (AggrNotEquals $86 $89) (AggrNotEquals $87 $90))) $76)))
))) $29))
(let $31 (DqCnBroadcast (TDqOutput $30 '0)))
(let $32 (StructType '('"a.TotalAmount" $17) '('"t.Comment" $6)))
(let $33 '('('"_logical_id" '3192) '('"_id" '"cb509d8b-a9c58572-de638cef-594d1a15") '('"_wide_channels" $32)))
(let $34 (DqPhyStage '($31) (lambda '($98) (block '(
  (let $99 '('Many 'Hashed 'Compact))
  (let $100 (NarrowSqueezeToDict (ToFlow $98) $24 (lambda '($101 $102 $103) (AsStruct '('"Group" $101) '('"Name" $102) '('"TotalAmount" $103))) $99))
  (return (FromFlow (WideSort (FlatMap $100 (lambda '($104) (block '(
    (let $105 '('"Comment" '"Group" '"Name"))
    (let $106 (YtReadTable! world $1 '((YtSection '((YtPath $10 $105 (Void) (Void))) '()))))
    (return (MapJoinCore (DqReadWideWrap $106 '()) $104 'Inner '('1 '2) $4 $22 '('"TotalAmount" '0) '('"t.Group" '"t.Name") '('"a.Group" '"a.Name")))
  )))) '('('1 $3) '('0 $3)))))
))) $33))
(let $35 '('0 '"Asc"))
(let $36 (DqCnMerge (TDqOutput $34 '0) '('('1 '"Asc") $35)))
(let $37 (DqPhyStage '($36) (lambda '($107) (FromFlow (NarrowMap (ToFlow $107) (lambda '($108 $109) (AsStruct '('"a.TotalAmount" $108) '('"t.Comment" $109)))))) '('('"_logical_id" '3204) '('"_id" '"9a9953f7-4433fe23-47f7796e-bd954500"))))
(let $38 '($21 $30 $34 $37))
(let $39 (DqCnResult (TDqOutput $37 '0) '('"t.Comment" '"a.TotalAmount")))
(let $40 '('('"type" '"generic")))
(let $41 (KqpPhysicalTx $38 '($39) '() $40))
(let $42 '('('"_logical_id" '3325) '('"_id" '"90d1d3cf-1479829d-86469b33-8f23645") $19))
(let $43 (DqPhyStage '() (lambda '() (block '(
  (let $110 (lambda '($112 $113 $114) $113 $114))
  (let $111 (lambda '($126 $127 $128) $126 $127 $128))
  (return (DqPhyHashCombine (WideToBlocks (FromFlow $13)) '-1073741824 $110 (lambda '($115 $116 $117 $118 $119) $117) (lambda '($120 $121 $122 $123 $124 $125) (AggrAdd $122 $125)) $111))
))) $42))
(let $44 (DqCnHashShuffle (TDqOutput $43 '0) '('0 '1) '0 '"HashV2"))
(let $45 (StructType $27))
(let $46 '('('"_logical_id" '3636) '('"_id" '"f1239ea1-7ef84a6f-5074944a-b4f210c6") '('"_wide_channels" $45)))
(let $47 (DqPhyStage '($44) (lambda '($129) (block '(
  (let $130 (NarrowSqueezeToDict (ToFlow (WideFromBlocks $129)) (lambda '($133 $134 $135) '($133 $134)) (lambda '($136 $137 $138) (AsStruct '('"Group" $136) '('"Name" $137) '('_yql_agg_0 $138))) $25))
  (let $131 (Condense1 (OrderedFlatMap $130 $26) (lambda '($139) $139) (lambda '($140 $141) (Or (AggrNotEquals (Member $140 '"Group") (Member $141 '"Group")) (AggrNotEquals (Member $140 '"Name") (Member $141 '"Name")))) (lambda '($142 $143) (AsStruct '('"Group" (Member $143 '"Group")) '('"Name" (Member $143 '"Name")) '('_yql_agg_0 (AggrAdd (Member $142 '_yql_agg_0) (Member $143 '_yql_agg_0)))))))
  (let $132 (Sort (Map $131 (lambda '($144) (AsStruct '('"TotalAmount" (Member $144 '_yql_agg_0))))) $3 (lambda '($145) (Member $145 '"TotalAmount"))))
  (return (FromFlow (ExpandMap $132 (lambda '($146) (Member $146 '"TotalAmount")))))
))) $46))
(let $48 (DqCnMerge (TDqOutput $47 '0) '($35)))
(let $49 (DqPhyStage '($48) (lambda '($147) (FromFlow (NarrowMap (ToFlow $147) (lambda '($148) (AsStruct '('"TotalAmount" $148)))))) '('('"_logical_id" '3648) '('"_id" '"4104dacc-ca04a129-a437434b-ac70be0f"))))
(let $50 '($43 $47 $49))
(let $51 (DqCnResult (TDqOutput $49 '0) '('"TotalAmount")))
(let $52 (KqpPhysicalTx $50 '($51) '() $40))
(let $53 (KqpTxResultBinding (ListType $32) '0 '0))
(let $54 (KqpTxResultBinding (ListType $45) '1 '0))
(return (KqpPhysicalQuery '($41 $52) '($53 $54) '('('"type" '"query"))))
)
