Un día, JOI-kun consiguió una máquina del tiempo. Decidió viajar al Japón del siglo IX. Allí conoció a Kukai, uno de los sacerdotes más famosos de Japón en aquella época. El sacerdote quería desarrollar una nueva forma de entrenamiento.
Su entrenamiento se lleva a cabo de la siguiente manera:
- Kukai lee un sutra que contiene $N$ oraciones. Estas oraciones tienen un orden y debe leerlas en ese orden.
- Cada oración tiene asignado un entero entre $1$ y $N$, ambos inclusive. No hay dos oraciones distintas con el mismo número.
- Debe leer la oración con el entero $i$ ($1 \le i \le N$) durante el $i$-ésimo de los $N$ intervalos de igual duración en los que se divide cada día. Cada oración es tan corta que siempre puede leer una oración en un intervalo.
Kukai quiere leer el sutra completo lo más rápido posible. Sin embargo, el número de días que tarda en terminar depende de los enteros asignados a las oraciones del sutra. Kukai le pidió a JOI-kun que contara cuántas asignaciones de enteros a las oraciones hacen que tarde exactamente $K$ días en terminar de leer, si lee de forma óptima.
Tarea
Dados el número de oraciones $N$ y un entero $K$, calcula, módulo $1\,000\,000\,007$, el número de asignaciones de enteros a las oraciones que hacen que Kukai tarde exactamente $K$ días en terminar de leer, si lee de forma óptima.
Entrada
Lee los siguientes datos de la entrada estándar.
- La primera línea contiene $N$ y $K$, separados por un único espacio.
Salida
Imprime, módulo $1\,000\,000\,007$, el número de asignaciones de enteros a las oraciones que hacen que Kukai tarde exactamente $K$ días en terminar de leer, si lee de forma óptima.
Restricciones
Todos los datos de entrada cumplen las siguientes condiciones.
- $1 \le N \le 100\,000$.
- $1 \le K \le N$.
Subtareas
Hay 4 subtareas. La puntuación y las restricciones adicionales de cada una son las siguientes:
Subtarea 1 [4 puntos]
- $N \le 10$.
Subtarea 2 [20 puntos]
- $N \le 300$.
Subtarea 3 [25 puntos]
- $N \le 3\,000$.
Subtarea 4 [51 puntos]
No hay restricciones adicionales.
Ejemplos
Entrada 1
3 2
Salida 1
4
Nota
Hay $4$ asignaciones de enteros a las oraciones con las que tarda $2$ días en terminar de leer.
- La primera oración tiene el número $1$, la siguiente tiene el $3$ y la última tiene el $2$. Lee las dos primeras oraciones (numeradas $1$ y $3$, respectivamente) el primer día y la última (numerada $2$) el segundo día.
- La primera oración tiene el número $2$, la siguiente tiene el $1$ y la última tiene el $3$.
- La primera oración tiene el número $2$, la siguiente tiene el $3$ y la última tiene el $1$.
- La primera oración tiene el número $3$, la siguiente tiene el $1$ y la última tiene el $2$.
Entrada 2
10 5
Salida 2
1310354