#arc148e. [arc148_e]≥ K

[arc148_e]≥ K

問題文

長さ NN の数列 A=(A1,...,AN)A = (A_1, ..., A_N) および整数 KK が与えられます。
AA の要素を並べ替えて得られる数列のうち、隣接する要素の和が KK より小さい箇所が存在しない数列は何通りありますか?個数を 998244353998244353 で割ったあまりを求めてください。

制約

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • 0leqKleq1090 \\leq K \\leq 10^9
  • 0leqAileq1090 \\leq A_i \\leq 10^9
  • 入力される値はすべて整数

入力

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

NN KK A1A_1 A2A_2 dots\\dots ANA_N

出力

答えを出力せよ。


入力例 1

4 5
1 2 3 4

出力例 1

4

条件を満たす数列は次の 44 通りです。

  • (1,4,2,3)(1, 4, 2, 3)
  • (1,4,3,2)(1, 4, 3, 2)
  • (2,3,4,1)(2, 3, 4, 1)
  • (3,2,4,1)(3, 2, 4, 1)

入力例 2

4 3
1 2 3 3

出力例 2

12

AA の要素を並べ替えてできる数列としてあり得るのは全部で 1212 通りあり、その全てが条件を満たします。


入力例 3

10 7
3 1 4 1 5 9 2 6 5 3

出力例 3

108