local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        final hashaggregation over (expr_181, expr_182, expr_183, expr_184, expr_185)
            local exchange (REPARTITION, HASH, ["expr_181", "expr_182", "expr_183", "expr_184", "expr_185"])
                remote exchange (REPARTITION, HASH, ["expr_12", "expr_32", "rank", "rank_17", "wr_item_sk"])
                    partial hashaggregation over (expr_12, expr_32, rank, rank_17, wr_item_sk)
                        local exchange (GATHER, SINGLE, [])
                            remote exchange (GATHER, SINGLE, [])
                                final hashaggregation over (wr_item_sk)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["wr_item_sk"])
                                            partial hashaggregation over (wr_item_sk)
                                                join (INNER, PARTITIONED):
                                                    remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
                                                        scan web_returns
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
                                                            join (INNER, REPLICATED):
                                                                scan web_sales
                                                                local exchange (GATHER, SINGLE, [])
                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                        scan date_dim
                remote exchange (REPARTITION, HASH, ["cr_item_sk", "expr_80", "expr_99", "rank_86", "rank_88"])
                    partial hashaggregation over (cr_item_sk, expr_80, expr_99, rank_86, rank_88)
                        local exchange (GATHER, SINGLE, [])
                            remote exchange (GATHER, SINGLE, [])
                                final hashaggregation over (cr_item_sk)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["cr_item_sk"])
                                            partial hashaggregation over (cr_item_sk)
                                                join (INNER, PARTITIONED):
                                                    remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
                                                        scan catalog_returns
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
                                                            join (INNER, REPLICATED):
                                                                scan catalog_sales
                                                                local exchange (GATHER, SINGLE, [])
                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                        scan date_dim
                remote exchange (REPARTITION, HASH, ["expr_152", "expr_176", "rank_158", "rank_160", "sr_item_sk"])
                    partial hashaggregation over (expr_152, expr_176, rank_158, rank_160, sr_item_sk)
                        local exchange (GATHER, SINGLE, [])
                            remote exchange (GATHER, SINGLE, [])
                                final hashaggregation over (sr_item_sk)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["sr_item_sk"])
                                            partial hashaggregation over (sr_item_sk)
                                                join (INNER, PARTITIONED):
                                                    remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
                                                        scan store_returns
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
                                                            join (INNER, REPLICATED):
                                                                scan store_sales
                                                                local exchange (GATHER, SINGLE, [])
                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                        scan date_dim
