#CF2116B. 水母与满天星

水母与满天星

BB 水母与满天星

每次测试时间限制:11 秒 每次测试内存限制:256256 兆字节

鲜花给了水母两个由 [0,1,,n1][0,1,\ldots,n-1] 构成的排列 ^*p0,p1,,pn1p_0, p_1, \ldots, p_{n-1}q0,q1,,qn1q_0, q_1, \ldots, q_{n-1}

现在水母想要通过以下方法计算数组 r0,r1,,rn1r_0, r_1, \ldots, r_{n-1}

对于所有 ii0in10 \le i \le n-1),

$$r_i = \max_{j=0}^{i} \left( 2^{p_j} + 2^{q_{i-j}} \right) $$

但水母非常懒,所以你必须帮她求出 rr 的所有元素。

由于 rr 的元素可能非常大,你只需要输出 rr 的元素对 998244353998244353 取模的结果。

^* 如果数组 bb 由数组 aa 的元素以任意顺序组成,则称 bbaa 的一个排列。例如,[4,2,3,4][4,2,3,4][3,2,4,4][3,2,4,4] 的一个排列,而 [1,2,2][1,2,2] 不是 [1,2,3][1,2,3] 的一个排列。

输入

每个测试包含多个测试用例。第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n1051 \le n \le 10^5)。

第二行包含 nn 个整数 p0,p1,,pn1p_0, p_1, \ldots, p_{n-1}0pi<n0 \le p_i < n)。

第三行包含 nn 个整数 q0,q1,,qn1q_0, q_1, \ldots, q_{n-1}0qi<n0 \le q_i < n)。

保证 ppqq 都是 [0,1,,n1][0,1,\ldots,n-1] 的排列。

保证所有测试用例的 nn 之和不超过 10510^5

输出

对于每个测试用例,在一行中输出 nn 个整数 r0,r1,,rn1r_0, r_1, \ldots, r_{n-1},每个数对 998244353998244353 取模。

示例

输入

3
3
0 2 1
1 2 0
5
0 1 2 3 4
4 3 2 1 0
10
5 8 9 3 4 0 2 7 1 6
9 5 1 4 0 3 2 8 7 6

输出

3 6 8
17 18 20 24 32
544 768 1024 544 528 528 516 640 516 768

说明

在第一个测试用例中:

$$\begin{aligned} r_0 &= 2^{p_0} + 2^{q_0} = 1 + 2 = 3 \\ r_1 &= \max(2^{p_0} + 2^{q_1},\ 2^{p_1} + 2^{q_0}) = \max(1 + 4,\ 4 + 2) = 6 \\ r_2 &= \max(2^{p_0} + 2^{q_2},\ 2^{p_1} + 2^{q_1},\ 2^{p_2} + 2^{q_0}) = \max(1 + 1,\ 4 + 4,\ 2 + 2) = 8 \end{aligned} $$