#arc126e. [arc126_e]Infinite Operations

[arc126_e]Infinite Operations

问题陈述

给定一个正整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N)QQ 个查询。第 ii 个查询如下所示:

  • 给定整数 xix_iyiy_i(其中 1xiN1\leq x_i\leq N),将 AxiA_{x_i} 改为 yiy_i

每次查询改变序列时,找到对应问题的答案并对 998244353998244353 取模(参见注释)。

f(n)f(n) 表示在 AA 上进行下列操作 nn 次时可以获得的最大总点数。

  • 选择 i,ji, j,使得 AiAjA_i\leq A_j,并选择 非负实数 xx,满足 Ai+2xAjA_i + 2x \leq A_j
  • xx 添加到 AiA_i 中,并从 AjA_j 中减去 xx
  • 获得 xx 个点。

可以证明极限 displaystylelimntoinftyf(n)\\displaystyle \\lim_{n\\to\\infty} f(n) 存在。找到这个极限值。

注释

我们可以证明所讨论的极限始终是一个有理数。此外,在问题的约束条件下,当将该数表示为 fracPQ\\frac{P}{Q},其中 PPQQ 是互质的整数时,我们可以证明存在唯一的整数 RR,满足 RtimesQequivPpmod998244353R\\times Q\\equiv P\\pmod{998244353}0leqR<9982443530\\leq R < 998244353。找到这个 RR

约束条件

  • 2N3×1052\leq N\leq 3\times 10^5
  • 1Q3×1051\leq Q\leq 3\times 10^5
  • 1Ai1091\leq A_i \leq 10^9
  • 1xiN1\leq x_i\leq N
  • 1yi1091\leq y_i\leq 10^9

输入

输入以以下格式从标准输入给出:

NN QQ A1A_1 A2A_2 \ldots ANA_N x1x_1 y1y_1 \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

第一个查询将序列更改为 (5,5,5)(5, 5, 5)。在这里,对于任何 nn,我们都有 f(n)=0f(n) = 0,所以答案是 00

第二个查询将序列更改为 (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 个点。

以上两个操作共获得 0.70.7 个点,从中我们可以看出 f(2)0.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