atcoder#ARC156B. [ARC156B] Mex on Blackboard

[ARC156B] Mex on Blackboard

Score : 500500 points

Problem Statement

For a finite multiset SS of non-negative integers, let us define mex(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 mex(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

  • 1N,K2×1051 \leq N,K \leq 2\times 10^5
  • 0Ai2×1050\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 ANA_N

Output

Print the answer.

3 1
0 1 3
3

The following three multisets can be obtained by the operations.

  • {0,0,1,3}\lbrace 0,0,1,3 \rbrace
  • {0,1,1,3}\lbrace 0,1,1,3\rbrace
  • {0,1,2,3}\lbrace 0,1,2,3 \rbrace

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

2 1
0 0
2

The following two multisets can be obtained by the operations.

  • {0,0,0}\lbrace 0,0,0 \rbrace
  • {0,0,1}\lbrace 0,0,1\rbrace

Note that you may choose zero integers in the operation.

5 10
3 1 4 1 5
7109