AT_agc075_c [AGC075C] Minimization of Divide

Description

長さ $ N $ の非負整数列 $ A=(A_1,A_2,\dots,A_N),B=(B_1,B_2,\dots,B_N) $ が与えられます。 $ (1,2,\dots,N) $ の順列 $ P=(P_1,P_2,\dots,P_N) $ に対して、 $ P $ のコストを $ \sum_{i=1}^{N} \left \lfloor \frac{A_{P_i}}{2^{B_i}} \right \rfloor $ と定義します。 コストの最小値を達成する $ P $ の個数を $ 998244353 $ で割った余りを求めてください。 $ T $ 個のテストケースが与えられるので、それぞれについて解いてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ A_1\ A_2\ \dots\ A_N $ $ B_1\ B_2\ \dots\ B_N $

Output Format

$ T $ 行出力せよ。 $ i(1 \le i \le T) $ 行目には $ \mathrm{case}_i $ の答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ 個目のテストケースについては、各 $ P $ に対するコストは以下のようになります。 - $ P=(1,2) $ のとき、 $ \left \lfloor \frac{A_{1}}{2^{B_1}} \right \rfloor + \left \lfloor \frac{A_{2}}{2^{B_2}} \right \rfloor = \left \lfloor \frac{5}{1} \right \rfloor + \left \lfloor \frac{9}{2} \right \rfloor = 9 $ - $ P=(2,1) $ のとき、 $ \left \lfloor \frac{A_{2}}{2^{B_1}} \right \rfloor + \left \lfloor \frac{A_{1}}{2^{B_2}} \right \rfloor = \left \lfloor \frac{9}{1} \right \rfloor + \left \lfloor \frac{5}{2} \right \rfloor = 11 $ よって、コストの最小値は $ 9 $ であり、それを達成する $ P $ は $ (1,2) $ の $ 1 $ 個です。 $ 2 $ 個目のテストケースについては、 $ P = (1,2,3),(2,1,3) $ がコストの最小値 $ 7 $ を達成します。 $ 3 $ 個目のテストケースについては、 $ P = (1,2,3,4),(2,1,3,4),(1,2,4,3),(2,1,4,3) $ がコストの最小値 $ 6 $ を達成します。 $ 4 $ 個目のテストケースについては、 $ (1,2,3,4,5) $ の順列全てがコストの最小値 $ 5000000000 $ を達成します。 ### Constraints - $ 1 \le T \le 2 \times 10^5 $ - $ 1 \le N \le 2 \times 10^5 $ - $ 1 \le A_i \le 10^9 $ - $ 0 \le B_i \le 30 $ - 全てのテストケースにおける $ N $ の総和は $ 2 \times 10^5 $ 以下