P0016

Sequence

Sequence

对于两个序列 a1…an,b1…bma_1\dots a_n,b_1\dots b_m。称序列二元组 (a,b)(a,b) 是好的当且仅当:

  • 存在一条从 (1,1)(1,1) 到 (n,m)(n,m),每一步为某一维坐标增加 11 的路径 PP,使得 ∀(x,y)∈P,ax≤by\forall (x,y)\in P,a_x\le b_y。

给定 n,a1,…,an,l1…,ln,r1…rnn,a_1,\dots,a_n,l_1\dots,l_n,r_1\dots r_n。

对于每个 k(1≤k≤n)k(1\le k\le n) 求出有多少个序列 b1…bkb_1\dots b_k 满足:

  • ∀1≤i≤k,li≤bi≤ri\forall 1\le i\le k,l_i\le b_i\le r_i。
  • (a1…an,b1…bk)(a_1\dots a_n,b_1\dots b_k) 为好的序列二元组。

答案对 998244353998244353 取模。

输入格式

第一行,一个整数 nn。

第二行,nn 个整数 a1,…,ana_1,\dots,a_n。

第三行,nn 个整数 l1,…,lnl_1,\dots,l_n。

第四行,nn 个整数 r1,…,rnr_1,\dots,r_n。

输出格式

一行,nn 个整数,第 ii 个整数表示 k=ik=i 时的答案。

样例 1

输入

2
1 2
1 1
2 2

输出

1 2

说明

k=1k=1 时路径 (1,1)→(2,1)(1,1)\to(2,1) 要求 b1≥max⁡(a1,a2)=2b_1\ge\max(a_1,a_2)=2,只有 b1=2b_1=2,1 种;k=2k=2 时 b∈[1,2]2b\in[1,2]^2 中存在合法路径的有 (1,2),(2,2)(1,2),(2,2),共 2 种。

样例 2

输入

3
1 1 1
1 1 1
3 3 3

输出

3 9 27

说明

aa 全为 11,任何 bi≥1b_i\ge 1 都满足 ax≤bya_x\le b_y,必"好"。答案即前 kk 位取值数连乘 3k3^k:3,9,273,9,27

提示

对于 100%100\% 的数据,1≤n≤5×103,1≤ai≤109,1≤li≤ri≤1091\le n\le 5\times 10^3,1\le a_i\le 10^9,1\le l_i\le r_i\le 10^9。

Subtask 1(10%):n,ai,li,ri≤5\text{Subtask }1(10\%):n,a_i,l_i,r_i\le 5。

Subtask 2(20%):n,ai,li,ri≤50\text{Subtask }2(20\%):n,a_i,l_i,r_i\le 50。

Subtask 3(30%):n,ai,li,ri≤500\text{Subtask }3(30\%):n,a_i,l_i,r_i\le 500。

Subtask 4(40%):\text{Subtask }4(40\%): 无特殊限制。