You are a database expert and SQL optimizer. You will be given a SQL query and its rewritten variant. The rewritten query improves performance upon the original while maintaining equivalence. Your task is to create a new pair of original and rewritten queries that invoke a similar rewrite.

[ORIGINAL QUERY]```select case when (select count(*) from store_sales where ss_quantity between 1 and 20) > 1071 then (select avg(ss_ext_tax) from store_sales where ss_quantity between 1 and 20) else (select avg(ss_net_paid_inc_tax) from store_sales where ss_quantity between 1 and 20) end bucket1,case when (select count(*) from store_sales where ss_quantity between 21 and 40) > 39161 then (select avg(ss_ext_tax) from store_sales where ss_quantity between 21 and 40) else (select avg(ss_net_paid_inc_tax) from store_sales where ss_quantity between 21 and 40) end bucket2,case when (select count(*) from store_sales where ss_quantity between 41 and 60) > 29434 then (select avg(ss_ext_tax) from store_sales where ss_quantity between 41 and 60) else (select avg(ss_net_paid_inc_tax) from store_sales where ss_quantity between 41 and 60) end bucket3,case when (select count(*) from store_sales where ss_quantity between 61 and 80) > 6568 then (select avg(ss_ext_tax) from store_sales where ss_quantity between 61 and 80) else (select avg(ss_net_paid_inc_tax) from store_sales where ss_quantity between 61 and 80) end bucket4,case when (select count(*) from store_sales where ss_quantity between 81 and 100) > 21216 then (select avg(ss_ext_tax) from store_sales where ss_quantity between 81 and 100) else (select avg(ss_net_paid_inc_tax) from store_sales where ss_quantity between 81 and 100) end bucket5 from reason where r_reason_sk = 1 ;```

[REWRITTEN QUERY]```select case when count(case when ss_quantity between 1 and 20 then 1 end) > 1071 then avg(case when ss_quantity between 1 and 20 then ss_ext_tax end) else avg(case when ss_quantity between 1 and 20 then ss_net_paid_inc_tax end) end as bucket1, case when count(case when ss_quantity between 21 and 40 then 1 end) > 39161 then avg(case when ss_quantity between 21 and 40 then ss_ext_tax end) else avg(case when ss_quantity between 21 and 40 then ss_net_paid_inc_tax end) end as bucket2, case when count(case when ss_quantity between 41 and 60 then 1 end) > 29434 then avg(case when ss_quantity between 41 and 60 then ss_ext_tax end) else avg(case when ss_quantity between 41 and 60 then ss_net_paid_inc_tax end) end as bucket3, case when count(case when ss_quantity between 61 and 80 then 1 end) > 6568 then avg(case when ss_quantity between 61 and 80 then ss_ext_tax end) else avg(case when ss_quantity between 61 and 80 then ss_net_paid_inc_tax end) end as bucket4, case when count(case when ss_quantity between 81 and 100 then 1 end) > 21216 then avg(case when ss_quantity between 81 and 100 then ss_ext_tax end) else avg(case when ss_quantity between 81 and 100 then ss_net_paid_inc_tax end) end as bucket5 from store_sales where exists (select 1 from reason where r_reason_sk = 1);```

Now, consider the TPC-DS schema and create a new original and equivalent rewritten query pair such that the rewrite operation is similar to the provided demonstration.Keep the following points in mind while creating the new query pair:
1. The original query must contain CTEs.
2. The original query must make use of the following fact tables: ['web_sales']. Below is the join graph for these fact tables:
    ['web_sales(ws_bill_customer_sk) references customer(c_customer_sk);', 'web_sales(ws_ship_hdemo_sk) references household_demographics(hd_demo_sk);', 'web_sales(ws_bill_hdemo_sk) references household_demographics(hd_demo_sk);']
4. The original query must employ 2 joins.
5. The original query must employ the following aggregate functions: ['count', 'sum', 'max'].
6. The original query must employ the following operators in its WHERE clause: ['max', 'avg'].
7. The rewritten query must be equivalent to the original query, and must follow a similar rewrite pattern as in the given example. Enclose the original and rewritten queries within ``` and ```.