CSES - Leirikisa 2 - Kolikot
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Bittimaassa käytössä olevat kolikot ovat {c1,c2,,cn}\{c_1,c_2,\ldots,c_n\}. Kaikilla kolikoilla on eri arvo.

Tehtäväsi on muodostaa rahamäärä xx kolikoilla. Montako erilaista tapaa tähän on? Kaksi tapaa ovat erilaiset, jos niissä on jotain kolikkoa eri määrä.

Syöte

Syötteen ensimmäisellä rivillä on kaksi kokonaislukua nn ja xx.

Toisella rivillä on nn kokonaislukua {c1,c2,,cn}\{c_1,c_2,\ldots,c_n\}.

Tuloste

Tulosta erilaisten tapojen määrä modulo 109+710^9+7.

Rajat

  • 1n1001 \le n \le 100
  • 1x1051 \le x \le 10^5
  • 1ci1051 \le c_i \le 10^5

Esimerkki

Syöte:

3 5
2 1 5

Tuloste:

4

Selitys: tavat ovat 1+1+1+1+11+1+1+1+1, 1+1+1+21+1+1+2, 1+2+21+2+2 ja 55.