#abc295e. [abc295_e]Kth Number

[abc295_e]Kth Number

Problem Statement

We have a sequence of length NN consisting of integers between 00 and MM, inclusive: A=(A1,A2,dots,AN)A=(A_1,A_2,\\dots,A_N).

Snuke will perform the following operations 1 and 2 in order.

  1. For each ii such that Ai=0A_i=0, independently choose a uniform random integer between 11 and MM, inclusive, and replace AiA_i with that integer.
  2. Sort AA in ascending order.

Print the expected value of AKA_K after the two operations, modulo 998244353998244353.

How to print a number modulo 998244353998244353? It can be proved that the sought expected value is always rational. Additionally, under the Constraints of this problem, when that value is represented as fracPQ\\frac{P}{Q} using two coprime integers PP and QQ, it can be proved that there is a unique integer RR such that RtimesQequivPpmod998244353R \\times Q \\equiv P\\pmod{998244353} and 0leqRlt9982443530 \\leq R \\lt 998244353. Print this RR.

Constraints

  • 1leqKleqNleq20001\\leq K \\leq N \\leq 2000
  • 1leqMleq20001\\leq M \\leq 2000
  • 0leqAileqM0\\leq A_i \\leq M
  • All values in the input are integers.

Input

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

NN MM KK A1A_1 A2A_2 dots\\dots ANA_N

Output

Print the expected value of AKA_K after the two operations, modulo 998244353998244353.


Sample Input 1

3 5 2
2 0 4

Sample Output 1

3

In the operation 1, Snuke will replace A2A_2 with an integer between 11 and 55. Let xx be this integer.

  • If x=1x=1 or 22, we will have A2=2A_2=2 after the two operations.
  • If x=3x=3, we will have A2=3A_2=3 after the two operations.
  • If x=4x=4 or 55, we will have A2=4A_2=4 after the two operations.

Thus, the expected value of A2A_2 is frac2+2+3+4+45=3\\frac{2+2+3+4+4}{5}=3.


Sample Input 2

2 3 1
0 0

Sample Output 2

221832080

The expected value is frac149\\frac{14}{9}.


Sample Input 3

10 20 7
6 5 0 2 0 0 0 15 0 0

Sample Output 3

617586310