CSES - Unirytmi
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Uolevi nukkuu vuoden aikana aina täsmälleen n minuuttia. Hän nukkuu kerrallaan aina kokonaislukumäärän minuutteja, vähintään yhden minuutin ja enintään m minuuttia. Uolevi haluaa tietää monellako tavalla hän voi määrätä unijaksojen pituudet.

Syöte

Syöte on yksi rivi, joka sisältää luvut n ja m.

Tuloste

Tulosteena tulee antaa eri tapojen määrä modulo 10^9+7

Rajat

  • 1 \leq m \leq n \leq 10^5

Esimerkki

Syöte:

5 3

Tuloste:

13

Selitys:
Eri tapoja esittää 5 lukujen väliltä 1..3 summana on 13 kpl, nimittäin seuraavat:

  1. 1+1+1+1+1
  2. 1+1+1+2
  3. 1+1+2+1
  4. 1+2+1+1
  5. 2+1+1+1
  6. 1+1+3
  7. 1+3+1
  8. 3+1+1
  9. 2+3
  10. 3+2
  11. 2+2+1
  12. 2+1+2
  13. 1+2+2

Kun otetaan jakojäännös modulo 10^9 + 7, saadaan edelleen 13.