헨젤과 그레텔은 각자의 수 보따리를 들고 각자의 모험을 시작한다. 모험을 시작할 때 각자의 수 보따리에는 1에서 N까지 적힌 카드가 한 장씩 들어있다.
그들은 1번 구역부터 시작해서 K(1≤K≤N)번 구역까지 순서대로 방문하면서 각자가 가지고 있는 수 보따리에서 하나의 카드를 꺼내 현재 자신이 있는 구역에 내려놓고 갈 것이다. 헨젤과 그레텔이 합의한 바에 따르면, 그들이 i(1≤i≤K)번 구역에 내려놓은 카드에 적힌 수가 동일해서는 안 된다.
헨젤과 그레텔이 K번 구역을 끝으로 모험을 마쳤을 때, 1번부터 K번 구역까지 각자가 놓고 온 수들로 가능한 경우의 수를 구하시오.
예를 들어, N=4, K=2일 때 헨젤과 그레텔이 각각 1번 구역과 2번 구역에 놓은 수가 \[1,2], \[4,3]인 경우와 \[1,2], \[3,4]인 경우는 서로 다른 경우다.
첫 번째 줄에 N(2≤N≤200,000)과 K(2≤K≤N)가 공백으로 구분되어 주어진다.
헨젤과 그레텔이 놓고 온 수 카드의 순서로 가능한 경우의 수를 1,000,000,007(=109+7)로 나눈 나머지를 구하시오.