#arc156b. [arc156_b]Mex on Blackboard

[arc156_b]Mex on Blackboard

Problem Statement

For a finite multiset SS of non-negative integers, let us define mathrmmex(S)\\mathrm{mex}(S) as the smallest non-negative integer not in SS. For instance, $\\mathrm{mex}(\\lbrace 0,0, 1,3\\rbrace ) = 2, \\mathrm{mex}(\\lbrace 1 \\rbrace) = 0, \\mathrm{mex}(\\lbrace \\rbrace) = 0$.

There are NN non-negative integers on a blackboard. The ii-th integer is AiA_i.

You will perform the following operation exactly KK times.

  • Choose zero or more integers on the blackboard. Let SS be the multiset of chosen integers, and write mathrmmex(S)\\mathrm{mex}(S) on the blackboard once.

How many multisets can be the multiset of integers on the final blackboard? Find this count modulo 998244353998244353.

Constraints

  • 1leqN,Kleq2times1051 \\leq N,K \\leq 2\\times 10^5
  • 0leqAileq2times1050\\leq A_i\\leq 2\\times 10^5
  • All numbers in the input are integers.

Input

The input is given from Standard Input in the following format:

NN KK A1A_1 A2A_2 ldots\\ldots ANA_N

Output

Print the answer.


Sample Input 1

3 1
0 1 3

Sample Output 1

3

The following three multisets can be obtained by the operations.

  • lbrace0,0,1,3rbrace\\lbrace 0,0,1,3 \\rbrace
  • lbrace0,1,1,3rbrace\\lbrace 0,1,1,3\\rbrace
  • lbrace0,1,2,3rbrace\\lbrace 0,1,2,3 \\rbrace

For instance, you can get lbrace0,1,1,3rbrace\\lbrace 0,1,1,3\\rbrace by choosing the 00 on the blackboard to let S=lbrace0rbraceS=\\lbrace 0\\rbrace in the operation.


Sample Input 2

2 1
0 0

Sample Output 2

2

The following two multisets can be obtained by the operations.

  • lbrace0,0,0rbrace\\lbrace 0,0,0 \\rbrace
  • lbrace0,0,1rbrace\\lbrace 0,0,1\\rbrace

Note that you may choose zero integers in the operation.


Sample Input 3

5 10
3 1 4 1 5

Sample Output 3

7109