만드는 중입니다

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

쉬운 숙제

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

요약
수열 f(n)=A·f(n-1)+f(n-2)에서 f(n)을 p로 나눈 나머지가 x인 n이 L부터 R까지 몇 개인지 구합니다.
난이도

어려움10점 중 8점

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

문제

정수 AA를 하나 고정한다. 수열 {f(n)}\{f(n)\}은 다음 두 조건을 만족한다.

  1. f(0)=0f(0) = 0, f(1)=1f(1) = 1
  2. 1보다 큰 모든 정수 nn에 대해 f(n)=A⋅f(n−1)+f(n−2)f(n) = A \cdot f(n - 1) + f(n - 2)

소수 pp와 정수 xx (0≤x≤p0 \leq x \leq p)가 주어진다. L≤n≤RL \leq n \leq R을 만족하는 정수 nn 중에서 f(n) mod p=xf(n) \bmod p = x인 nn의 개수를 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT (1≤T≤421 \leq T \leq 42)가 주어진다.

이후 TT개의 줄에 다섯 정수 AA, pp, xx, LL, RR이 주어진다. (0≤A<1090 \leq A < 10^{9}, 2<p<1092 < p < 10^{9}, 0≤x<p0 \leq x < p, 1≤L≤R≤10181 \leq L \leq R \leq 10^{18}) pp는 소수임이 보장된다.

출력

TT줄에 걸쳐 답을 출력한다. ii번째 줄에는 ii번째 테스트 케이스의 답을 출력한다.

예제1

  1. 예제 1

    입력
    2
    1 5 0 1 5
    2 29 12 3 6
    
    예상 출력
    1
    2