다현이의 생일을 맞아 원통 모양 쿠키 케이크를 준비했다. 케이크에는 원의 중심에 장식이 하나 있고, 원주 위에 장식이 N개 있다. 원주의 장식에는 시계 방향으로 1번부터 N번까지 번호를 붙인다.
쿠키 장식의 종류는 K가지이고, 장식 하나마다 그중 한 종류를 고른다. 단, 원주에서 이웃한 두 장식은 종류가 달라야 한다. N≥2이면 1≤i≤N−1인 i마다 i번 장식과 i+1번 장식이 이웃하고, N≥3이면 N번 장식과 1번 장식도 이웃한다. N=1이면 원주에 이웃한 장식 쌍이 없다.
근우는 케이크를 N번 자른다. i번째 칼질은 중심의 장식에서 Ai번 장식까지 곧게 자른다. 한 번 잘린 장식은 중심의 장식과 종류가 달라야 한다. 즉 i번째 칼질을 끝낸 상태에서는 A1,A2,…,Ai번 장식이 모두 중심의 장식과 종류가 다르다.
아무것도 자르지 않은 상태를 시간 0, i번째 칼질을 끝낸 상태를 시간 i라고 하자. 각 시간마다 조건을 모두 만족하도록 장식 N+1개에 종류를 정하는 방법의 수를 1,000,000,007로 나눈 나머지를 구하라.