题目描述
对于一个非负整数的有限多重集合 S,定义 mathrmmex(S) 为 S 中不存在的最小非负整数。例如,mathrmmex(lbrace0,0,1,3rbrace)=2,mathrmmex(lbrace1rbrace)=0,mathrmmex(lbracerbrace)=0。
黑板上有 N 个非负整数,第 i 个整数是 Ai。
你将进行如下操作恰好 K 次:
- 在黑板上选择零个或多个整数。设选择的整数构成的多重集合为 S,则将 mathrmmex(S) 写在黑板上。
最终黑板上可能出现哪些整数的多重集合有多少种?将计数结果对 998244353 取模。
约束条件
- 1≤N,K≤2×105
- 0≤Ai≤2×105
- 输入中的所有值均为整数。
输入
从标准输入读取输入数据,输入格式如下:
N K
A1 A2 ldots AN
输出
输出答案。
示例输入 1
3 1
0 1 3
示例输出 1
3
以下三种多重集合可以通过操作得到。
- lbrace0,0,1,3rbrace
- lbrace0,1,1,3rbrace
- lbrace0,1,2,3rbrace
例如,你可以选择将黑板上的 0 作为整数构成的多重集合 S,从而得到 lbrace0,1,1,3rbrace。
示例输入 2
2 1
0 0
示例输出 2
2
以下两种多重集合可以通过操作得到。
- lbrace0,0,0rbrace
- lbrace0,0,1rbrace
注意,你可以选择在操作中不选择任何整数。
示例输入 3
5 10
3 1 4 1 5
示例输出 3
7109