(
(let $1 (OptionalType (DataType 'Int32)))
(let $2 (DataType 'Double))
(let $3 (DataType 'Uint64))
(let $4 (OptionalType (TupleType $2 $3)))
(let $5 (DataType 'String))
(let $6 (StructType '('_yql_agg_0 $4) '('_yql_agg_1 $3) '('"value" $5)))
(let $7 '('('"_logical_id" '2139) '('"_id" '"46afdc01-b4938b27-fd859ffa-e246f35c") '('"_wide_channels" $6)))
(let $8 (DqPhyStage '() (lambda '() (block '(
  (let $18 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (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 '"Input2") '('RecordsCount '"4") '('DataSize '"164") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $22 (YtTable '"Input2" $19 $20 $21 '() (Void) (Void) '"/Root/plato"))
  (let $23 '('"key" '"subkey" '"value"))
  (let $24 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $22 $23 (Void) (Void))) '()))))
  (let $25 (String '0))
  (let $26 (Nothing $1))
  (let $27 (lambda '($41) (Just '((Convert $41 'Double) (Uint64 '1)))))
  (let $28 (Nothing $4))
  (let $29 (lambda '($35 $36 $37 $38) (block '(
    (let $39 (If (== $36 $25) $26 (/ (SafeCast $37 $1) (SafeCast $36 $1))))
    (let $40 (IfPresent $39 $27 $28))
    (return $40 (AggrCountInit $39))
  ))))
  (let $30 (lambda '($42 $43 $44 $45 $46 $47) (block '(
    (let $48 (If (== $43 $25) $26 (/ (SafeCast $44 $1) (SafeCast $43 $1))))
    (let $49 (IfPresent $48 $27 $28))
    (let $50 (IfPresent $46 (lambda '($51) (IfPresent $48 (lambda '($52) (Just '((AggrAdd (Nth $51 '0) (Convert $52 'Double)) (Inc (Nth $51 '1))))) (Just $51))) $49))
    (return $50 (AggrCountUpdate $48 $47))
  ))))
  (let $31 (lambda '($53 $54 $55) $54 $55 $53))
  (return (DqPhyHashCombine (WideToBlocks (FromFlow (DqReadWideWrap $24 '()))) '-1073741824 (lambda '($32 $33 $34) $34) $29 $30 $31))
))) $7))
(let $9 (DqCnHashShuffle (TDqOutput $8 '0) '('"2") '0 '"HashV2"))
(let $10 (StructType '('"key" $5) '('"subkey" $3) '('"value" $1)))
(let $11 '('('"_logical_id" '5662) '('"_id" '"77df2dcd-1b134424-21a55369-f3dfa628") '('"_wide_channels" $10)))
(let $12 (DqPhyStage '($9) (lambda '($56) (block '(
  (let $57 (lambda '($66 $67 $68 $69) $67 $68))
  (let $58 (lambda '($70 $71 $72 $73 $74 $75) (block '(
    (let $76 (IfPresent $71 (lambda '($77) (IfPresent $74 (lambda '($78) (Just '((AggrAdd (Nth $77 '0) (Nth $78 '0)) (AggrAdd (Nth $77 '1) (Nth $78 '1))))) $71)) $74))
    (return $76 (AggrAdd $72 $75))
  ))))
  (let $59 (lambda '($79 $80 $81) (block '(
    (let $82 (IfPresent $80 (lambda '($83) (Just (Div (Nth $83 '0) (Nth $83 '1)))) (Nothing (OptionalType $2))))
    (return $82 $81 $79)
  ))))
  (let $60 (WideCombiner (ToFlow (WideFromBlocks $56)) '"" (lambda '($63 $64 $65) $65) $57 $58 $59))
  (let $61 (Sort (NarrowMap $60 (lambda '($84 $85 $86) (AsStruct '('"key" $86) '('"subkey" $85) '('"value" (SafeCast $84 $1))))) (Bool 'true) (lambda '($87) (Member $87 '"value"))))
  (let $62 (lambda '($88) (Member $88 '"key") (Member $88 '"subkey") (Member $88 '"value")))
  (return (FromFlow (ExpandMap $61 $62)))
))) $11))
(let $13 (DqCnMerge (TDqOutput $12 '0) '('('"2" '"Asc"))))
(let $14 (DqPhyStage '($13) (lambda '($89) (FromFlow (NarrowMap (ToFlow $89) (lambda '($90 $91 $92) (AsStruct '('"key" $90) '('"subkey" $91) '('"value" $92)))))) '('('"_logical_id" '5674) '('"_id" '"76855035-d81436bd-1e68ea62-98efa5ab"))))
(let $15 '($8 $12 $14))
(let $16 '('"subkey" '"value" '"key"))
(let $17 (DqCnResult (TDqOutput $14 '0) $16))
(return (KqpPhysicalQuery '((KqpPhysicalTx $15 '($17) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $10) '0 '0)) '('('"type" '"query"))))
)
