#abc295e. [abc295_e]Kth Number

[abc295_e]Kth Number

题目描述

我们有一个长度为NN的序列,由介于00MM之间(包括00MM)的整数组成:A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)

Snuke将按照以下操作1和2的顺序执行。

  1. 对于每个ii使得Ai=0A_i=0,独立地选择介于11MM之间(包括11MM)的均匀随机整数,并用该整数替换AiA_i
  2. 按升序对AA进行排序。

在进行两次操作后,打印出AKA_K的期望值(对998244353998244353取模)。

如何打印出数模998244353998244353的值?可以证明所求的期望值始终是有理数。此外,在这个问题的约束条件下,当该值表示为fracPQ\\frac{P}{Q},其中PPQQ是互质的整数时,可以证明存在唯一的整数RR,满足RtimesQequivPpmod998244353R \\times Q \\equiv P\\pmod{998244353}0leqRlt9982443530 \\leq R \\lt 998244353。输出这个RR

约束条件

  • 1leqKleqNleq20001\\leq K \\leq N \\leq 2000
  • 1leqMleq20001\\leq M \\leq 2000
  • 0leqAileqM0\\leq A_i \\leq M
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN MM KK A1A_1 A2A_2 \dots ANA_N

输出

在进行两次操作后,打印出AKA_K的期望值(对998244353998244353取模)。

示例输入 1

3 5 2
2 0 4

示例输出 1

3

在操作1中,Snuke将用介于1155之间的整数替换A2A_2。设该整数为xx

  • 如果x=1x=122,两次操作后我们将有A2=2A_2=2
  • 如果x=3x=3,两次操作后我们将有A2=3A_2=3
  • 如果x=4x=455,两次操作后我们将有A2=4A_2=4

因此,A2A_2的期望值是frac2+2+3+4+45=3\\frac{2+2+3+4+4}{5}=3

示例输入 2

2 3 1
0 0

示例输出 2

221832080

期望值是frac149\\frac{14}{9}

示例输入 3

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

示例输出 3

617586310