(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '('StrictSchema '1))
(let $3 '('UniqueKeys '0))
(let $4 '@@["StructType";[["c_custkey";["DataType";"Int32"]];["c_acctbal";["DataType";"Double"]];["c_phone";["DataType";"String"]];["c_mktsegment";["DataType";"String"]];["c_nationkey";["DataType";"Int32"]];["c_comment";["DataType";"String"]];["c_name";["DataType";"String"]];["c_address";["DataType";"String"]]]]@@)
(let $5 (Bool 'true))
(let $6 '('SortDirections '($5)))
(let $7 '('"c_custkey"))
(let $8 (DataType 'Int32))
(let $9 '('SortedByTypes '($8)))
(let $10 (YqlRowSpec '('NativeYtTypeFlags '0) $2 $3 '('Type $4) $6 '('SortMembers $7) '('SortedBy $7) $9))
(let $11 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0)))
(let $12 '('RecordsCount '1))
(let $13 '('ChunkCount '1))
(let $14 '('ModifyTime '0))
(let $15 '('Revision '0))
(let $16 (YtStat '('Id '"customer") $12 '('DataSize '"247") $13 $14 $15))
(let $17 (YtTable '"customer" $10 $11 $16 '() (Void) (Void) '"/Root/plato"))
(let $18 '('"c_acctbal" '"c_custkey" '"c_phone"))
(let $19 (YtReadTable! world $1 '((YtSection '((YtPath $17 $18 (Void) (Void))) '('('"unordered"))))))
(let $20 (DqReadWideWrap $19 '()))
(let $21 (Uint32 '0))
(let $22 (Uint32 '2))
(let $23 (String '"31"))
(let $24 (String '"29"))
(let $25 (String '"30"))
(let $26 (String '"26"))
(let $27 (String '"28"))
(let $28 (String '"25"))
(let $29 (String '"15"))
(let $30 (DataType 'Double))
(let $31 '('"cntrycode" (DataType 'String)))
(let $32 (StructType '('"c_acctbal" $30) '('"c_custkey" $8) $31))
(let $33 '('"_logical_id" '8599))
(let $34 '($33 '('"_id" '"b81d0729-fe06ae1a-4ffeb33f-2727847f") '('"_wide_channels" $32)))
(let $35 (DqPhyStage '() (lambda '() (block '(
  (let $68 (lambda '($74) (Member $74 '"c_acctbal") (Member $74 '"c_custkey") (Member $74 '"cntrycode")))
  (return (FromFlow (ExpandMap (NarrowFlatMap $20 (lambda '($69 $70 $71) (block '(
    (let $72 (Substring $71 $21 $22))
    (let $73 (Or (== $72 $23) (== $72 $24) (== $72 $25) (== $72 $26) (== $72 $27) (== $72 $28) (== $72 $29)))
    (return (If $73 (Just (AsStruct '('"c_acctbal" $69) '('"c_custkey" $70) '('"cntrycode" $72))) (Nothing (OptionalType $32))))
  )))) $68)))
))) $34))
(let $36 (Uint64 '1))
(let $37 (Bool 'false))
(let $38 (DataType 'Uint64))
(let $39 '($33 '('"_id" '"776122cf-9c94a12c-4773b9cd-790ecbaa") '('"_wide_channels" (StructType '('_yql_agg_0 (TupleType $30 $38))))))
(let $40 (DqPhyStage '() (lambda '() (block '(
  (let $75 (lambda '($77 $78 $79) $77 $79))
  (let $76 (Condense1 (NarrowMap (WideFilter (WideMap $20 $75) (lambda '($80 $81) (block '(
    (let $82 (Substring $81 $21 $22))
    (let $83 (Or (== $82 $23) (== $82 $24) (== $82 $25) (== $82 $26) (== $82 $27) (== $82 $28) (== $82 $29)))
    (return (And $83 (> $80 (Double '"0.00"))))
  )))) (lambda '($84 $85) (AsStruct '('"c_acctbal" $84)))) (lambda '($86) '((Member $86 '"c_acctbal") $36)) (lambda '($87 $88) $37) (lambda '($89 $90) '((AggrAdd (Nth $90 '0) (Member $89 '"c_acctbal")) (Inc (Nth $90 '1))))))
  (return (FromFlow (ExpandMap $76 (lambda '($91) $91))))
))) $39))
(let $41 (DqCnUnionAll (TDqOutput $40 '0)))
(let $42 (StructType '('Avg0 $30)))
(let $43 '('('"_logical_id" '8681) '('"_id" '"8effe6ee-a116d5b5-f2df554a-a80ad54c") '('"_partition_mode" '"aggregate") '('"_wide_channels" $42)))
(let $44 (DqPhyStage '($41) (lambda '($92) (block '(
  (let $93 (lambda '($96) (Nth $96 '0) (Nth $96 '1)))
  (let $94 (lambda '($100 $101 $102) (AggrAdd (Nth $100 '0) $101) (AggrAdd (Nth $100 '1) $102)))
  (let $95 (WideCondense1 (ToFlow $92) $93 (lambda '($97 $98 $99) $37) $94))
  (return (FromFlow (WideMap $95 (lambda '($103 $104) (Div $103 $104)))))
))) $43))
(let $45 (DqCnUnionAll (TDqOutput $44 '0)))
(let $46 '('('"_logical_id" '8742) '('"_id" '"a71aeb77-558a66a1-854bfec9-98b58fe5") '('"_wide_channels" (StructType '('"a" (OptionalType $30))))))
(let $47 (DqPhyStage '($45) (lambda '($105) (block '(
  (let $106 (Condense (NarrowMap (ToFlow $105) (lambda '($107) (AsStruct '('Avg0 $107)))) (List (ListType $42)) (lambda '($108 $109) $37) (lambda '($110 $111) (AsList $110))))
  (return (FromFlow (ExpandMap $106 (lambda '($112) (Member (ToOptional $112) 'Avg0)))))
))) $46))
(let $48 '('"o_custkey"))
(let $49 '('('"_logical_id" '4406) '('"_id" '"741b0e10-944d078b-550ddb6-d917bea0") '('"_wide_channels" (StructType '('"o_custkey" $8)))))
(let $50 (DqPhyStage '() (lambda '() (block '(
  (let $113 '@@["StructType";[["o_orderkey";["DataType";"Int32"]];["o_orderstatus";["DataType";"String"]];["o_comment";["DataType";"String"]];["o_totalprice";["DataType";"Double"]];["o_clerk";["DataType";"String"]];["o_custkey";["DataType";"Int32"]];["o_orderpriority";["DataType";"String"]];["o_orderdate";["OptionalType";["DataType";"Date"]]];["o_shippriority";["DataType";"Int64"]]]]@@)
  (let $114 '('"o_orderkey"))
  (let $115 (YqlRowSpec '('NativeYtTypeFlags '2) $2 $3 '('Type $113) $6 '('SortMembers $114) '('SortedBy $114) $9))
  (let $116 (YtStat '('Id '"orders") $12 '('DataSize '"224") $13 $14 $15))
  (let $117 (YtTable '"orders" $115 $11 $116 '() (Void) (Void) '"/Root/plato"))
  (let $118 (YtReadTable! world $1 '((YtSection '((YtPath $117 $48 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $118 '())))
))) $49))
(let $51 (DqCnMap (TDqOutput $35 '0)))
(let $52 (DqCnBroadcast (TDqOutput $47 '0)))
(let $53 (DqCnBroadcast (TDqOutput $50 '0)))
(let $54 '($51 $52 $53))
(let $55 (lambda '($156 $157 $158) $157 $158 $156))
(let $56 (StructType '('_yql_agg_0 $38) '('_yql_agg_1 $30) $31))
(let $57 '('('"_logical_id" '9093) '('"_id" '"52f028a8-5e6c87e7-70b9a9b2-a5b6fa48") '('"_wide_channels" $56)))
(let $58 (DqPhyStage $54 (lambda '($119 $120 $121) (block '(
  (let $122 '('One 'Hashed 'Compact))
  (let $123 (NarrowSqueezeToDict (ToFlow $121) (lambda '($127) $127) (lambda '($128) (Void)) $122))
  (let $124 (lambda '($145) (Member $145 '"j.c_acctbal") (Member $145 '"j.cntrycode")))
  (let $125 (lambda '($148 $149 $150) $36 $149))
  (let $126 (lambda '($151 $152 $153 $154 $155) (AggrAdd $154 $36) (AggrAdd $152 $155)))
  (return (DqPhyHashCombine (WideToBlocks (FromFlow (ExpandMap (FlatMap $123 (lambda '($129) (block '(
    (let $130 (Condense1 (NarrowMap (ToFlow $120) (lambda '($132) (AsStruct '('"a" $132)))) (lambda '($133) (AsList $133)) (lambda '($134 $135) $37) (lambda '($136 $137) (Append $137 $136))))
    (let $131 '('"c_acctbal" '"j.c_acctbal" '"cntrycode" '"j.cntrycode"))
    (return (MapJoinCore (Map (Filter (FlatMap $130 (lambda '($138) (NarrowFlatMap (ToFlow $119) (lambda '($139 $140 $141) (Map (Collect $138) (lambda '($142) (AsStruct '('"a.a" (Member $142 '"a")) '('"c.c_acctbal" $139) '('"c.c_custkey" $140) '('"c.cntrycode" $141)))))))) (lambda '($143) (Coalesce (> (Member $143 '"c.c_acctbal") (Member $143 '"a.a")) $37))) (lambda '($144) (AsStruct '('"c_acctbal" (Member $144 '"c.c_acctbal")) '('"c_custkey" (Member $144 '"c.c_custkey")) '('"cntrycode" (Member $144 '"c.cntrycode"))))) $129 'LeftOnly $7 $48 $131 '() '('"j.c_custkey") '('"o.o_custkey")))
  )))) $124))) '-1073741824 (lambda '($146 $147) $147) $125 $126 $55))
))) $57))
(let $59 (DqCnHashShuffle (TDqOutput $58 '0) '('2) '0 '"HashV2"))
(let $60 (StructType $31 '('"numcust" $38) '('"totacctbal" $30)))
(let $61 '('('"_logical_id" '9226) '('"_id" '"3c5b07e9-b05cff92-67e631eb-c0089667") '('"_wide_channels" $60)))
(let $62 (DqPhyStage '($59) (lambda '($159) (block '(
  (let $160 (lambda '($167 $168 $169 $170) $168 $169))
  (let $161 (lambda '($171 $172 $173 $174 $175 $176) (AggrAdd $172 $175) (AggrAdd $173 $176)))
  (let $162 (WideCombiner (ToFlow (WideFromBlocks $159)) '"" (lambda '($164 $165 $166) $166) $160 $161 $55))
  (let $163 (lambda '($177 $178 $179) $179 $177 $178))
  (return (FromFlow (WideMap (WideSort $162 '('('2 $5))) $163)))
))) $61))
(let $63 (DqCnMerge (TDqOutput $62 '0) '('('0 '"Asc"))))
(let $64 (DqPhyStage '($63) (lambda '($180) (FromFlow (NarrowMap (ToFlow $180) (lambda '($181 $182 $183) (AsStruct '('"cntrycode" $181) '('"numcust" $182) '('"totacctbal" $183)))))) '('('"_logical_id" '9238) '('"_id" '"14583688-c9cec2de-c6d5d87d-f99ac112"))))
(let $65 '($35 $40 $44 $47 $50 $58 $62 $64))
(let $66 '('"cntrycode" '"numcust" '"totacctbal"))
(let $67 (DqCnResult (TDqOutput $64 '0) $66))
(return (KqpPhysicalQuery '((KqpPhysicalTx $65 '($67) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $60) '0 '0)) '('('"type" '"query"))))
)
