#arc126e. [arc126_e]Infinite Operations

[arc126_e]Infinite Operations

問題文

NN 項からなる正整数列 A=(A1,A2,ldots,AN)A = (A_1, A_2, \\ldots, A_N)QQ 個のクエリが与えられます。ii 番目のクエリは、以下のようなものです:

  • 整数 xi,yix_i, y_i (ただし 1leqxileqN1\\leq x_i\\leq N)が与えられる。AxiA_{x_i}yiy_i に変更する。

クエリで数列が変更されるたびに、以下の問題の答えを mod998244353\\mod 998244353 で求めてください(注記参照)。

数列 AA に対して以下の操作を nn 回行うとき、獲得できる総得点の最大値を f(n)f(n) とする。

  • AileqAjA_i\\leq A_j となる i,ji, j および Ai+2xleqAjA_i + 2x \\leq A_j となる非負実数 xx を選ぶ。
  • AiA_ixx を加え、AjA_j から xx を引く。
  • xx 点を獲得する。

極限 displaystylelimntoinftyf(n)\\displaystyle \\lim_{n\\to\\infty} f(n) が存在することが証明できる。この値を求めよ。

注記

求める極限は必ず有理数となることが証明できます。またこの問題の制約下では、その値を互いに素な 22 つの整数 P,QP, Q を用いて fracPQ\\frac{P}{Q} と表したとき、RtimesQequivPpmod998244353R\\times Q\\equiv P\\pmod{998244353} かつ 0leqR<9982443530\\leq R < 998244353 を満たす整数 RR がただ一つ存在することが証明できます。この RR を求めてください。

制約

  • 2leqNleq3times1052\\leq N\\leq 3\\times 10^5
  • 1leqQleq3times1051\\leq Q\\leq 3\\times 10^5
  • 1leqAileq1091\\leq A_i \\leq 10^9
  • 1leqxileqN1\\leq x_i\\leq N
  • 1leqyileq1091\\leq y_i\\leq 10^9

入力

入力は以下の形式で標準入力から与えられます。

NN QQ A1A_1 A2A_2 ldots\\ldots ANA_N x1x_1 y1y_1 vdots\\vdots xQx_Q yQy_Q

出力

QQ 行出力してください。ii 行目には、ii 番目のクエリで数列を変更した時点での、問題の答えを出力してください。


入力例 1

3 4
7 5 5
1 5
2 6
1 7
3 5

出力例 1

0
1
2
2

11 つめのクエリにより、数列は (5,5,5)(5, 5, 5) へと変更されます。この場合任意の nn に対して f(n)=0f(n) = 0 となり、答えは 00 となります。

22 つめのクエリにより、数列は (5,6,5)(5,6,5) へと変更されます。操作は例えば以下のように進行します。

  • (i,j,x)=(3,2,0.4)(i,j,x) = (3,2,0.4) と選ぶ。数列を (5,5.6,5.4)(5, 5.6, 5.4) へ変更し、0.40.4 点を獲得する。
  • (i,j,x)=(1,2,0.3)(i,j,x) = (1,2,0.3) と選ぶ。数列を (5.3,5.3,5.4)(5.3, 5.3, 5.4) へ変更し、0.30.3 点を獲得する。

上の方法では 22 回の操作により 0.70.7 点を獲得しており、f(2)geq0.7f(2) \\geq 0.7 であることがわかります。

この場合、獲得できる総得点は 11 を超えることはなく、操作回数を増やしていき最適な方法で操作を行うことで、獲得できる総得点を限りなく 11 に近づけることが可能であることが証明できます。したがって displaystylelimntoinftyf(n)=1\\displaystyle \\lim_{n\\to\\infty} f(n) = 1 となります。


入力例 2

2 4
1 2
2 5
1 3
1 2
2 3

出力例 2

2
1
499122178
499122177