만드는 중입니다

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

포상

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

요약
n명을 한 줄로 세운 가운데 서로 이웃하지 않는 k명을 고르는 경우의 수를 소수 m으로 나눈 나머지로 구합니다.
난이도

보통10점 중 4점

유형
수학, 조합론
정답자
아직 제출이 없습니다

문제

한 회사가 직원 nn명 중 kk명에게 상을 주기로 했다. 직원들은 한 줄로 서고, 각 직원은 바로 옆에 있는 직원만 볼 수 있다. 모든 수상자가 자신만 상을 받았다고 느끼도록, 줄에서 상을 받은 직원 두 명이 바로 이웃하면 안 된다.

이 조건을 지키면서 nn명 중 kk명에게 상을 나눠 주는 방법의 수를 구하라. 이 수가 매우 클 수 있으므로 소수 mm으로 나눈 나머지를 구한다.

입력

첫 번째이자 유일한 줄에 음이 아닌 정수 nn, kk, mm이 주어진다. 각각 직원 수, 상의 개수, 소수 모듈러스다 (1≤k≤n≤1000001 \le k \le n \le 100000, 1≤m≤1091 \le m \le 10^9).

출력

답을 mm으로 나눈 나머지를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    3 2 569
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5 2 673
    
    예상 출력
    6