#CSP1026C. 小 S 的女神的朋友

小 S 的女神的朋友

题目描述

小 S 的女神 Yuzuha 的朋友 Alice 最近不会写她的作业,于是小 S 决定帮助他的女神解决一些友情(?)问题。

给定一个长度为 nn 的序列,要求你回答 mm 组询问。每组询问会临时地将一个元素 AxA_x 替换成 yy,你需要回答替换后,这个序列的上升子序列数量。


输入格式

第一行两个自然数 n,mn,m,含义如题面所述。

接下来一行 nn 个自然数,表示初始序列。

接下来 mm 行,每行两个自然数 x,yx,y,表示一次临时的修改。


输出格式

mm 行,每行一个自然数,表示答案。由于这个数可能很大,你只需要输出它对 998244353998244353 取模的结果。


样例

样例 1 输入


3 3
1 3 6
1 4
2 5
3 2

样例 1 输出


5
7
5

样例 1 解释

  • 对于第一组询问,将序列变为 [4,3,6][4,3,6],有这些上升子序列:

    • [4][4]
    • [3][3]
    • [6][6]
    • [4,6][4,6]
    • [3,6][3,6]

    55 个。

  • 对于第二组询问,将序列变为 [1,5,6][1,5,6]。此时所有非空子序列都是上升子序列。

  • 对于第三组询问,将序列变为 [1,3,2][1,3,2],有这些上升子序列:

    • [1][1]
    • [3][3]
    • [2][2]
    • [1,3][1,3]
    • [1,2][1,2]

样例 2 输入

见下发文件中的 pre_dognus2.in

样例 2 输出

见下发文件中的 pre_dognus2.out

样例 2 满足测试点 353\sim 5 的限制。


样例 3 输入

见下发文件中的 pre_dognus3.in

样例 3 输出

见下发文件中的 pre_dognus3.out

样例 3 满足测试点 686\sim 8 的限制。


样例 4 输入

见下发文件中的 pre_dognus4.in

样例 4 输出

见下发文件中的 pre_dognus4.out

样例 4 满足测试点 131713\sim 17 的限制。


样例 5 输入

见下发文件中的 pre_dognus5.in

样例 5 输出

见下发文件中的 pre_dognus5.out

样例 5 满足测试点 182018\sim 20 的限制。


数据范围与提示

本题共 2020 个测试点。

测试点编号 n,mn,m 特殊性质
121\sim 2 10\leq 10
353\sim 5 500\leq 500
686\sim 8 2000\leq 2000
9129\sim 12 2×105\leq 2\times 10^5 A
131713\sim 17 B
182018\sim 20

性质 A: 保证初始序列是一个 1n1\sim n 的排列。

性质 B: 保证不同的 xx 不超过 1010 个。
(这里的“不同的 xx”指询问中出现的下标 xx 的种类数不超过 1010。)


对于所有测试点,保证:

  • 1n,m2×1051 \leq n,m \leq 2\times 10^5
  • 1y,Ain+m1 \leq y, A_i \leq n+m

记每次询问的 yyBiB_i。并且保证

A1,A2,,An,B1,B2,,BmA_1, A_2, \dots, A_n, B_1, B_2, \dots, B_m

是一个 1(n+m)1 \sim (n+m) 的排列。