헨젤과 그레텔

아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

헨젤과 그레텔은 각자의 수 보따리를 들고 각자의 모험을 시작한다. 모험을 시작할 때 각자의 수 보따리에는 11에서 NN까지 적힌 카드가 한 장씩 들어있다.

그들은 11번 구역부터 시작해서 KK(1KN1 \leq K \leq N)번 구역까지 순서대로 방문하면서 각자가 가지고 있는 수 보따리에서 하나의 카드를 꺼내 현재 자신이 있는 구역에 내려놓고 갈 것이다. 헨젤과 그레텔이 합의한 바에 따르면, 그들이 ii(1iK1 \leq i \leq K)번 구역에 내려놓은 카드에 적힌 수가 동일해서는 안 된다.

헨젤과 그레텔이 KK번 구역을 끝으로 모험을 마쳤을 때, 11번부터 KK번 구역까지 각자가 놓고 온 수들로 가능한 경우의 수를 구하시오.

예를 들어, N=4N=4, K=2K=2일 때 헨젤과 그레텔이 각각 11번 구역과 22번 구역에 놓은 수가 \[1,2]\[1,2], \[4,3]\[4,3]인 경우와 \[1,2]\[1,2], \[3,4]\[3,4]인 경우는 서로 다른 경우다.

입력

첫 번째 줄에 NN(2N200,000 2 \leq N \leq 200\\,000)과 KK(2KN2 \leq K \leq N)가 공백으로 구분되어 주어진다.

출력

헨젤과 그레텔이 놓고 온 수 카드의 순서로 가능한 경우의 수를 1,000,000,0071\\,000\\,000\\,007(=109+7=10^{9}+7)로 나눈 나머지를 구하시오.