{"raw_statement":[{"iden":"background","content":"父亲，您的王国在崩塌；\n\n父亲，您的人民在离去；\n\n父亲，但您说我不该有为苦难哭泣的声音；\n\n所以我将无能为力，所以我独自分崩离析。"},{"iden":"statement","content":"容器面前有 $n$ 个感染者，这 $n$ 个感染者排成一列，编号依次从 $1$ 到 $n$，第 $i$ 个感染者的感染深度为 $a_i$。\n\n容器会从第 $x$ 个感染者处开始向第 $n$ 个感染者走，依次经过第 $x$ 到 $n$ 个感染者。容器会击杀所有经过的感染者。然而，如果击杀了两个**编号连续，感染深度严格递增**的感染者，那么它会略过下一个感染者（如果存在下一个）。\n\n记 $f_x$ 表示若容器从第 $x$ 个位置开始，击杀的感染者数量（$f$ 之间两两独立）。例如有五个感染者，他们的感染深度依次为：\n\n```plain\n2 6 4 5 1\n```\n\n那么对应的 $f$ 序列为 $\\{4,3,2,2,1\\}$。\n\n你不知道每个感染者的感染深度，只知道 $m$ 组 $f_i-f_{i+1}$ 的值，对于请输出满足条件的不同 $f$ 序列的数量对 $998244353$ 取模的结果。\n\n序列 $f,g$ 不同，当且仅当存在 $1\\le i \\le n$ 满足 $f_i\\not= g_i$。"},{"iden":"input","content":"第一行两个整数 $n,m$。\n\n接下来 $m$ 行，每行一个二元组 $(x,y)$，表示 $f_x-f_{x+1}=y$。\n\n注意，数据中可能存在错误的二元组，您需要自行忽略它们。具体地，若二元组 $(x_i,y_i)$ 使得考虑 $1\\sim i-1$ 的所有合法二元组及该二元组后，不存在满足条件的 $f$ 序列，那么该二元组不合法，您在计算答案时不应考虑该二元组。"},{"iden":"output","content":"输出为 $(m+1)$ 行，每行 $1$ 个数。\n\n第一行表示不考虑任何二元组时的答案对 $998244353$ 取模的结果。\n\n第 $i(2 \\le i \\le m+1)$ 行表示考虑 $1 \\sim i-1$ 中所有合法二元组时的答案对 $998244353$ 取模的结果。\n\n"},{"iden":"note","content":"### 样例一解释\n\n初始：符合条件的 $f$ 序列有 $\\{3,2,1\\},\\{2,2,1\\}$。\n\n约束一：初始的 $f$ 序列都不符合约束一，忽略该条件。\n\n约束二：只有 $\\{3,2,1\\}$ 符合约束条件。\n\n约束三：只有 $\\{2,2,1\\}$ 符合约束条件。结合约束二，不存在合法的 $f$ 序列，忽略该条件。\n\n---\n\n### 数据范围及约定\n\n对于 $20\\%$ 的数据，$n,m\\le5$。\n\n对于 $60\\%$ 的数据，$n\\le10^6$。\n\n对于另外 $10\\%$ 的数据，$m=0$。\n\n对于 $100\\%$ 的数据，$1 \\leq n \\leq 10^{11},0 \\leq m \\leq 5\\times 10^4,0 \\leq |y| \\leq n,1 \\leq x <n$。"}],"translated_statement":null,"sample_group":[["3 3\n1 5\n1 1\n1 0","2\n2\n1\n1"],["5 2\n2 1\n4 5","4\n3\n3"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}