Pewnego dnia JOI-kun zdobył wehikuł czasu. Postanowił udać się do Japonii w IX wieku. Spotkał Kukai, jednego z najsłynniejszych kapłanów w ówczesnej Japonii. Kapłan chciał opracować nową metodę ćwiczeń.
Jego ćwiczenia przebiegają następująco:
- Kukai czyta sutrę składającą się z $N$ zdań. Zdania są uporządkowane i musi czytać je w tej kolejności.
- Każdemu zdaniu przypisana jest jedna liczba całkowita od $1$ do $N$ włącznie. Żadne dwa różne zdania nie mają tej samej liczby.
- Zdanie z liczbą $i$ ($1 \le i \le N$) musi przeczytać w $i$-tym z $N$ równych przedziałów czasu, na które podzielony jest dzień. Każde zdanie jest na tyle krótkie, że zawsze można je przeczytać w jednym takim przedziale.
Kukai chce przeczytać całą sutrę jak najszybciej. Jednak liczba dni potrzebnych do jej ukończenia zależy od liczb przypisanych zdaniom. Kukai poprosił JOI-kun o policzenie, na ile sposobów można przypisać liczby zdaniom tak, aby przy optymalnym czytaniu ukończenie sutry zajęło mu dokładnie $K$ dni.
Zadanie
Mając liczbę zdań $N$ i liczbę całkowitą $K$, oblicz liczbę sposobów przypisania liczb zdaniom, dla których Kukai, czytając optymalnie, ukończy sutrę dokładnie w $K$ dni. Wynik podaj modulo $1\,000\,000\,007$.
Wejście
Wczytaj następujące dane ze standardowego wejścia.
- Pierwszy wiersz zawiera $N$ i $K$, oddzielone pojedynczą spacją.
Wyjście
Wypisz liczbę sposobów przypisania liczb zdaniom, dla których Kukai, czytając optymalnie, ukończy sutrę dokładnie w $K$ dni. Wynik podaj modulo $1\,000\,000\,007$.
Ograniczenia
Wszystkie dane wejściowe spełniają następujące warunki.
- $1 \le N \le 100\,000$.
- $1 \le K \le N$.
Podzadania
Są 4 podzadania. Punktacja i dodatkowe ograniczenia każdego podzadania są następujące:
Podzadanie 1 [4 punkty]
- $N \le 10$.
Podzadanie 2 [20 punktów]
- $N \le 300$.
Podzadanie 3 [25 punktów]
- $N \le 3\,000$.
Podzadanie 4 [51 punktów]
Brak dodatkowych ograniczeń.
Przykład
Wejście 1
3 2
Wyjście 1
4
Uwagi
Istnieją 4 sposoby przypisania liczb zdaniom, dla których ukończenie czytania zajmuje mu 2 dni.
- Pierwsze zdanie ma liczbę 1, następne 3, a ostatnie 2. Pierwsze dwa zdania, oznaczone odpowiednio liczbami 1 i 3, czyta pierwszego dnia, a ostatnie zdanie, oznaczone liczbą 2, drugiego dnia.
- Pierwsze zdanie ma liczbę 2, następne 1, a ostatnie 3.
- Pierwsze zdanie ma liczbę 2, następne 3, a ostatnie 1.
- Pierwsze zdanie ma liczbę 3, następne 1, a ostatnie 2.
Wejście 2
10 5
Wyjście 2
1310354