AT_arc210_f [ARC210F] ± ab
Description
整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます.また,正整数 $ a,b,s,t $ が与えられます.ただし, $ a,b $ は**互いに素**であることが保証されます.
$ A $ に対して,次の $ 4 $ 種の操作を行うことができます.
- $ 1\leq i\leq N $ を満たす整数 $ i $ をひとつ選び, $ A_i $ に $ a $ を足す.この操作にはコストが $ s $ かかる.
- $ 1\leq i\leq N $ を満たす整数 $ i $ をひとつ選び, $ A_i $ から $ a $ を引く.この操作にはコストが $ s $ かかる.
- $ 1\leq i\leq N $ を満たす整数 $ i $ をひとつ選び, $ A_i $ に $ b $ を足す.この操作にはコストが $ t $ かかる.
- $ 1\leq i\leq N $ を満たす整数 $ i $ をひとつ選び, $ A_i $ から $ b $ を引く.この操作にはコストが $ t $ かかる.
$ Q $ 個のクエリに答えてください. $ q $ 番目のクエリでは,整数 $ B_q $ が与えられるので,次の値を $ 998244353 $ で割った余りを求めてください.
- $ A_{1}=A_{2}=\cdots=A_{N}=B_q $ が成り立つようにするために必要なコストの総和の最小値.なお, $ A_{1}=A_{2}=\cdots=A_{N}=B_q $ が成り立つようにすることは可能であることが証明できる.
Input Format
入力は以下の形式で標準入力から与えられます.
> $ N $ $ Q $ $ a $ $ b $ $ s $ $ t $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $ $ B_1 $ $ B_2 $ $ \ldots $ $ B_Q $
Output Format
$ Q $ 個の値を空白区切りで出力してください.
$ q $ 番目には, $ A_{1}=A_{2}=\cdots=A_{N}=B_q $ が成り立つようにするために必要なコストの総和の最小値を, $ 998244353 $ で割った余りを出力してください.
Explanation/Hint
### Sample Explanation 1
- $ A_1 $ に $ +a $ , $ -b $ する操作を順に行うことで, $ A=(1) $ にできます.コストの総和 $ 4+3=7 $ です.
- $ A_1 $ に $ -a $ , $ -a $ , $ +b $ する操作を順に行うことで, $ A=(2) $ にできます.コストの総和 $ 4+4+3=11 $ です.
- はじめから $ A=(3) $ です.コストの総和は $ 0 $ です.
- $ A_1 $ に $ +a $ , $ +a $ , $ -b $ する操作を順に行うことで, $ A=(4) $ にできます.コストの総和 $ 4+4+3=11 $ です.
- $ A_1 $ に $ -a $ , $ +b $ する操作を順に行うことで, $ A=(5) $ にできます.コストの総和 $ 4+3=7 $ です.
### Sample Explanation 2
- $ A_1 $ に $ +a $ , $ A_2 $ に $ +b $ , $ -a $ , $ A_3 $ に $ +a,+a,-b $ という操作を順に行うことで, $ A=(4,4,4) $ にできます.コストの総和は $ 22 $ です.
### Constraints
- $ 1\leq N\leq 2\times 10^5 $
- $ 1\leq Q\leq 2\times 10^5 $
- $ 1\leq a,b,s,t\leq 5\times 10^8 $
- $ a,b $ は互いに素
- $ 1\leq A_i\leq 5\times 10^8 $
- $ 1\leq B_q\leq 5\times 10^8 $