atcoder#ABC295E. [ABC295E] Kth Number

[ABC295E] Kth Number

Score : 500500 points

Problem Statement

We have a sequence of length NN consisting of integers between 00 and MM, inclusive: A=(A1,A2,,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 $998244353$? 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 \frac{P}{Q} using two coprime integers P and Q, it can be proved that there is a unique integer R such that R \times Q \equiv P\pmod{998244353} and 0 \leq R \lt 998244353. Print this R.

Constraints

  • 1KN20001\leq K \leq N \leq 2000
  • 1M20001\leq M \leq 2000
  • 0AiM0\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 ANA_N

Output

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

3 5 2
2 0 4
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 2+2+3+4+45=3\frac{2+2+3+4+4}{5}=3.

2 3 1
0 0
221832080

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

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