#arc139d. [arc139_d]Priority Queue 2

[arc139_d]Priority Queue 2

問題文

要素数が NN の整数の多重集合 A=lbraceA1,A2,...,ANrbraceA=\\lbrace A_1,A_2,...,A_N \\rbrace が与えられます。AA の要素は全て 11 以上 MM 以下であることが保証されています。

以下の操作を KK 回繰り返します。

  • 11 以上 MM 以下の整数を選び、AA に追加する。その後、AA の中で XX 番目に小さい値を 11 個削除する。

AA の中で XX 番目に小さい値とは、AA の要素を単調非減少になるように一列に並べたとき、先頭から XX 番目にくる値のことです。

11 以上 MM 以下の値を KK 回選ぶ方法は MKM^K 通りありますが、その全てに対して操作終了後の AA の要素の総和を求めたとします。これらの MKM^K 個の値の総和を 998244353998244353 で割ったあまりを求めてください。

制約

  • 1leN,M,Kle20001 \\le N,M,K \\le 2000
  • 1leXleN+11 \\le X \\le N+1
  • 1leAileM1 \\le A_i \\le M
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられます。

NN MM KK XX A1A_1 A2A_2 dots\\dots ANA_N

出力

答えを出力してください。


入力例 1

2 4 2 1
1 3

出力例 1

99

初め A=1,3A=\\{1,3\\} です。操作の例としては以下のようなものが考えられます。

  • AA44 を追加する。A=1,3,4A=\\{1,3,4\\} となる。AA11 番目に小さい値を削除する。A=3,4A=\\{3,4\\} となる。

  • AA33 を追加する。A=3,3,4A=\\{3,3,4\\} となる。AA11 番目に小さい値を削除する。A=3,4A=\\{3,4\\} となる。

この場合、操作後の AA の要素の総和は 3+4=73+4=7 となります。


入力例 2

5 9 6 3
3 7 1 9 9

出力例 2

15411789