소의 아침 운동
시간 제한1초메모리 제한512 MB
N과 소수 M이 주어질 때, 길이 N인 순열의 위수가 K가 되는 모든 양의 정수 K의 합을 M으로 나눈 나머지를 구한다.
문제
Farmer John이 소들을 위해 새로운 아침 운동 루틴을 만들었다(또 또!).
이전과 마찬가지로 Farmer John의 마리 소()가 한 줄로 서 있다. 왼쪽에서 번째 소의 이름표는 인 각 에 대해 이다. 그는 소들에게 처음 순서와 같아질 때까지 다음 단계를 반복하라고 말한다.
- 길이 의 순열 가 주어질 때, 소들은 순서를 바꾸어, 바꾸기 전 왼쪽에서 번째 소가 바꾼 후 왼쪽에서 번째가 되도록 한다.
예를 들어 이면 소들은 한 단계를 수행한다. 이면 소들은 여섯 단계를 수행한다. 각 단계 후 왼쪽에서 오른쪽으로 소들의 순서는 다음과 같다:
- 0단계:
- 1단계:
- 2단계:
- 3단계:
- 4단계:
- 5단계:
- 6단계:
소들이 정확히 단계를 수행하게 하는 길이 의 순열이 존재하는 모든 양의 정수 의 합을 구하라.
이 수는 매우 클 수 있으므로 답을 으로 나눈 나머지를 출력하라(, 은 소수).
입력
첫째 줄에 과 이 주어진다.
출력
정수 하나를 출력한다.
힌트
소들이 , , , , , 단계를 수행하게 하는 순열이 존재한다. 따라서 답은 이다.