「CGOI-2」No voice to cry suffering

题目背景

父亲,您的王国在崩塌; 父亲,您的人民在离去; 父亲,但您说我不该有为苦难哭泣的声音; 所以我将无能为力,所以我独自分崩离析。

题目描述

容器面前有 $n$ 个感染者,这 $n$ 个感染者排成一列,编号依次从 $1$ 到 $n$,第 $i$ 个感染者的感染深度为 $a_i$。 容器会从第 $x$ 个感染者处开始向第 $n$ 个感染者走,依次经过第 $x$ 到 $n$ 个感染者。容器会击杀所有经过的感染者。然而,如果击杀了两个**编号连续,感染深度严格递增**的感染者,那么它会略过下一个感染者(如果存在下一个)。 记 $f_x$ 表示若容器从第 $x$ 个位置开始,击杀的感染者数量($f$ 之间两两独立)。例如有五个感染者,他们的感染深度依次为: ```plain 2 6 4 5 1 ``` 那么对应的 $f$ 序列为 $\{4,3,2,2,1\}$。 你不知道每个感染者的感染深度,只知道 $m$ 组 $f_i-f_{i+1}$ 的值,对于请输出满足条件的不同 $f$ 序列的数量对 $998244353$ 取模的结果。 序列 $f,g$ 不同,当且仅当存在 $1\le i \le n$ 满足 $f_i\not= g_i$。

输入输出格式

输入格式


第一行两个整数 $n,m$。 接下来 $m$ 行,每行一个二元组 $(x,y)$,表示 $f_x-f_{x+1}=y$。 注意,数据中可能存在错误的二元组,您需要自行忽略它们。具体地,若二元组 $(x_i,y_i)$ 使得考虑 $1\sim i-1$ 的所有合法二元组及该二元组后,不存在满足条件的 $f$ 序列,那么该二元组不合法,您在计算答案时不应考虑该二元组。

输出格式


输出为 $(m+1)$ 行,每行 $1$ 个数。 第一行表示不考虑任何二元组时的答案对 $998244353$ 取模的结果。 第 $i(2 \le i \le m+1)$ 行表示考虑 $1 \sim i-1$ 中所有合法二元组时的答案对 $998244353$ 取模的结果。

输入输出样例

输入样例 #1

3 3
1 5
1 1
1 0

输出样例 #1

2
2
1
1

输入样例 #2

5 2
2 1
4 5

输出样例 #2

4
3
3

说明

### 样例一解释 初始:符合条件的 $f$ 序列有 $\{3,2,1\},\{2,2,1\}$。 约束一:初始的 $f$ 序列都不符合约束一,忽略该条件。 约束二:只有 $\{3,2,1\}$ 符合约束条件。 约束三:只有 $\{2,2,1\}$ 符合约束条件。结合约束二,不存在合法的 $f$ 序列,忽略该条件。 --- ### 数据范围及约定 对于 $20\%$ 的数据,$n,m\le5$。 对于 $60\%$ 的数据,$n\le10^6$。 对于另外 $10\%$ 的数据,$m=0$。 对于 $100\%$ 的数据,$1 \leq n \leq 10^{11},0 \leq m \leq 5\times 10^4,0 \leq |y| \leq n,1 \leq x <n$。