아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

이런 수열이!

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

요약
홀수 소수 p와 k∈{1,3,5,7}이 주어질 때, a_{n+2}=k·a_{n+1}+a_n, a_0=0, a_1=1로 정의된 수열의 a_p mod p 값을 최대 백만 개의 질의에 대해 구한다.
난이도

보통10점 중 7점

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

문제

수열 ana_{n}이 다음과 같은 점화식으로 정의된다.

\begin{align*} a_{n+2} &= k\cdot a_{n+1} + a_{n} \\ a_{0} &= 0 \\ a_{1} &= 1 \end{align*}

k∈{1,3,5,7}k \in \{1,3,5,7\}와 홀수인 소수 pp가 주어질 때, ap mod pa_{p} \bmod{p}의 값을 구하여라.

입력

첫째 줄에 테스트 케이스의 수 Z≤106Z \le 10^6가 주어진다.

각 테스트 케이스마다 한 줄에 자연수 pp와 kk가 주어진다. pp는 홀수인 소수이다.

출력

각 테스트 케이스마다 ap mod pa_{p} \bmod{p}의 값을 한 줄에 하나씩 출력한다.

제한

  • k∈{1,3,5,7}k \in \{1,3,5,7\}
  • 모든 테스트 케이스에 등장하는 pp의 자릿수의 합은 10610^{6}을 넘지 않는다.

예제1

  1. 예제 1

    입력
    3
    3 5
    11 1
    13 3
    
    예상 출력
    2
    1
    0