#arc070b. [arc070_b]No Need

[arc070_b]No Need

問題文

シカのAtCoDeerくんは正整数が書かれたカードを NN 枚持っています。i(1iN)i(1≦i≦N) 枚目に書かれている数は aia_i です。 AtCoDeerくんは大きい数が好きなので、カードに書かれた数の総和が KK 以上になるようなカードの部分集合を_よい集合_と呼びます。

そして、各カード ii に対して、そのカードが_不必要_かどうかを次のように判定します。

  • 「カード ii を含む任意の_よい集合_に対して、その集合からカード ii を除いたものも_よい集合_」 ならカード ii は_不必要_
  • それ以外の場合は、_不必要_でない

不必要なカードの枚数を求めてください。ただし、それぞれの判定は独立に行われ、不必要だからと言ってカードが途中で捨てられたりすることはありません。

制約

  • 入力は全て整数
  • 1N50001≦N≦5000
  • 1K50001≦K≦5000
  • 1ai109(1iN)1≦a_i≦10^9 (1≦i≦N)

部分点

  • N,K400N,K≦400 を満たすデータセットに正解した場合は、部分点として 300300 点が与えられる。

入力

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

NN KK a1a_1 a2a_2 ... aNa_N

出力

不必要なカードの枚数を出力せよ。


入力例 1

3 6
1 4 3

出力例 1

1

よい集合は {2,32,3} と {1,2,31,2,3} の二つです。

カード 11 を含むよい集合は {1,2,31,2,3} しかなく、これから 11 を取り除いた {2,32,3} もよい集合なので、カード 11 は不必要です。

また、よい集合である {2,32,3} から 22 を取り除いた集合 {33} はよい集合ではないため、カード 22 は不必要ではありません。

カード 33 も同様に不必要ではないため、答えは 11 です。


入力例 2

5 400
3 1 4 1 5

出力例 2

5

この場合よい集合は存在しないため、全てのカードは不必要となります。


入力例 3

6 20
10 4 3 10 25 2

出力例 3

3