만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

더 어려운 계단 수

시간 제한2초메모리 제한1024 MB

요약
길이가 N이고 0부터 B-1까지 모든 숫자를 포함하는 B진법 계단 수의 개수를 M으로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 조합론, 비트 연산
정답자
아직 제출이 없습니다

문제

45656이라는 수를 보자. 이 수는 인접한 모든 자릿수의 차이가 1이다. 이런 수를 계단 수라고 한다.

오늘도 세준이는 0부터 B−1B-1까지 모든 한 자리 숫자가 자릿수로 등장하면서 길이가 NN인 BB진법 계단 수가 몇 개 있는지 궁금해졌다.

NN, BB, MM이 주어질 때, 길이가 NN이면서 0부터 B−1B-1까지 모든 숫자가 등장하는 BB진법 계단 수의 개수를 MM으로 나눈 나머지를 구하는 프로그램을 작성하시오. (0으로 시작하는 수는 없다.)

입력

첫째 줄에 자연수 NN, BB, MM이 주어진다. (1≤N≤1061 \le N \le 10^6, 2≤B≤1062 \le B \le 10^6, 109≤M≤2×10910^9 \le M \le 2 \times 10^9)

출력

첫째 줄에 정답을 출력한다.

예제4

  1. 예제 1

    입력
    14 12 1234567891
    
    예상 출력
    16
    
  2. 예제 2

    입력
    2000 1800 1000000000
    
    예상 출력
    47168488
    
  3. 예제 3

    입력
    5 6 2000000000
    
    예상 출력
    0
    
  4. 예제 4

    입력
    987654 3210 1234567890
    
    예상 출력
    245695446