En dag fick JOI-kun en tidsmaskin. Han bestämde sig för att åka till Japan på 800-talet. Han träffade Kukai, en av de mest berömda prästerna i Japan vid den tiden. Prästen ville utveckla ett nytt sätt att träna.
Hans träning går till på följande sätt:
- Kukai läser sutran med $N$ meningar. Dessa meningar är ordnade, och han måste läsa dem i ordning.
- Varje mening har ett heltal mellan $1$ och $N$, inklusive gränserna. Inga två olika meningar har samma tal.
- Han måste läsa meningen med heltalet $i$ ($1 \le i \le N$) under den $i$-te perioden bland de $N$ lika uppdelade tidsperioderna på en dag. Varje mening är så kort att det alltid är möjligt för honom att läsa en mening under en period.
Kukai vill läsa hela sutran så snabbt som möjligt. Hur många dagar det tar för honom att bli klar beror dock på heltalen på meningarna i sutran. JOI-kun blev ombedd av Kukai att räkna antalet möjliga sätt att tilldela heltal på meningarna så att det tar Kukai exakt $K$ dagar att läsa klart, om han läser optimalt.
Uppgift
Givet antalet meningar $N$ och ett heltal $K$, beräkna antalet möjliga sätt att tilldela heltal på meningarna så att det tar Kukai exakt $K$ dagar att läsa klart, om han läser optimalt, modulo $1\,000\,000\,007$.
Indata
Läs följande data från standard inmatning.
- Den första raden i indata innehåller $N$ och $K$, separerade med ett enda mellanslag.
Utdata
Skriv ut antalet möjliga sätt att tilldela heltal på meningarna så att det tar Kukai exakt $K$ dagar att läsa klart, om han läser optimalt, modulo $1\,000\,000\,007$.
Begränsningar
Alla indata uppfyller följande villkor.
- $1 \le N \le 100\,000$.
- $1 \le K \le N$.
Deluppgifter
Det finns 4 deluppgifter. Poängen och de ytterligare begränsningarna för varje deluppgift är följande:
Deluppgift 1 [4 poäng]
- $N \le 10$.
Deluppgift 2 [20 poäng]
- $N \le 300$.
Deluppgift 3 [25 poäng]
- $N \le 3\,000$.
Deluppgift 4 [51 poäng]
Det finns inga ytterligare begränsningar.
Exempel
Indata 1
3 2
Utdata 1
4
Förklaring
Det finns 4 möjliga sätt att tilldela heltal på meningarna så att det tar honom 2 dagar att läsa klart.
- Den första meningen har 1, nästa mening har 3 och den sista meningen har 2. Han läser de två första meningarna (numrerade 1 respektive 3) den första dagen, och den sista meningen (numrerad 2) den andra dagen.
- Den första meningen har 2, nästa mening har 1 och den sista meningen har 3.
- Den första meningen har 2, nästa mening har 3 och den sista meningen har 1.
- Den första meningen har 3, nästa mening har 1 och den sista meningen har 2.
Indata 2
10 5
Utdata 2
1310354