원형 정수열 점수의 총합
시간 제한1초메모리 제한1024 MB
각 값 1부터 N까지가 C_a번씩 나타나는 원형 수열을 모두 만들고, 연속 구간 길이의 곱을 모두 더한 값을 10^9+7로 나눈 나머지를 구합니다.
문제
길이가 인 원형 정수열 이 있다고 하자. 와 은 인접해 있으며, 특별히 과 도 인접해 있다. 이 원형 정수열의 점수는 같은 수가 인접해 이루는 부분의 크기를 모두 구해서 곱한 값이다. 예를 들어 이면, 점수는 점이 된다.
1 이상 이하의 정수만 포함하면서, 정수 를 정확히 개 포함하는 서로 다른 원형 정수열에 대해 점수의 총합을 구하는 프로그램을 작성하라. 두 원형 정수열 와 이 다르다는 것은 인 가 존재한다는 것이다.
입력
첫 번째 줄에 하나의 정수 ()이 주어진다.
두 번째 줄에는 개의 정수 ()이 공백 하나로 구분되어 주어진다.
출력
첫 번째 줄에 정수 를 정확히 개 포함하는 모든 서로 다른 원형 정수열에 대해 점수의 총합을 출력한다. 이 수는 매우 클 수 있으므로, 로 나눈 나머지를 출력한다.
힌트
첫 번째 입력에서 만들어지는 원형 정수열은 다음의 가지이다.
- : 점
- : 점
- : 점
- : 점
- : 점
- : 점
그러므로 총 점이다.