CSES - Koodarit
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Yrityksessä on töissä n koodaria, joista jokaisen koodaustaito on kokonaisluku välillä 0 \ldots 100. Tehtäväsi on jakaa koodarit ryhmiin, jotka työskentelevät yhdessä.

Kokemuksen perusteella tiedetään, että ryhmät toimivat hyvin, kun niissä on suunnilleen samantasoisia koodareita. Ryhmän riitaisuus on parhaimman ja huonoimman koodarin taitojen ero.

Monellako tavalla voit jakaa koodarit ryhmiin niin, että ryhmien riitaisuuksien summa on enintään x?

Syöte

Syötteen ensimmäisellä rivillä on kaksi kokonaislukua n ja x: koodarien määrä ja suurin sallittu riitaisuuksien summa.

Toisella rivillä on n kokonaislukua t_1,t_2,\ldots,t_n: kunkin koodarin taitotaso.

Tuloste

Tulosta yksi kokonaisluku: mahdollisten jakojen määrä modulo 10^9+7.

Rajat

  • 1 \le n \le 100
  • 0 \le x \le 5000
  • 0 \le t_i \le 100

Esimerkki

Syöte:

3 2
2 5 3

Tuloste:

3