만드는 중입니다

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

스털링 수

시간 제한9초메모리 제한256 MB

요약
n, l, r과 소수 p가 주어질 때, 제1종 스털링 수 [n, k]를 k가 l부터 r까지인 경우마다 모두 더한 뒤 p로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

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

문제

제1종 스털링 수 [nk]\begin{bmatrix} n \\ k \end{bmatrix}은 nn개의 원소로 이루어진 순열 중 정확히 kk개의 서로소인 사이클을 갖는 순열의 개수이다. 잘 알려진 점화식은 다음과 같다.

[n+1k]=n[nk]+[nk−1]\begin{bmatrix} n+1 \\ k \end{bmatrix} = n \begin{bmatrix} n \\ k \end{bmatrix} + \begin{bmatrix} n \\ k-1 \end{bmatrix}

여기서 k>0k>0이고, 초기 조건은 다음과 같다.

[00]=1그리고[n0]=[0n]=0\begin{bmatrix} 0 \\ 0 \end{bmatrix} = 1 \quad \text{그리고} \quad \begin{bmatrix} n \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ n \end{bmatrix} = 0

여기서 n>0n>0이다.

네 정수 nn, ll, rr, pp가 주어질 때, 다음 값을 구하라.

(∑k=lr[nk]) mod p\left(\sum_{k=l}^{r}{\begin{bmatrix} n \\ k \end{bmatrix}} \right) \bmod p

여기서 pp는 소수이다.

입력

첫째 줄에 네 정수 nn, ll, rr, pp가 주어진다 (1≤n≤10181 \le n \le 10^{18}, 0≤l≤r≤n0 \le l \le r \le n, 2≤p≤1062 \le p \le 10^6, pp는 소수).

출력

답을 나타내는 정수 하나를 출력한다.

예제3

  1. 예제 1

    입력
    4 1 4 5
    
    예상 출력
    4
    
  2. 예제 2

    입력
    6 5 5 29
    
    예상 출력
    15
    
  3. 예제 3

    입력
    1000 685 975 999983
    
    예상 출력
    482808