만드는 중입니다

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

점화식과 주기

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

요약
소수 p에서 점화식 x_n = a*x_{n-1} + b*x_{n-2}의 수열이 S번째 항부터 주기 T로 반복되는 (S, T) 중 사전순으로 가장 작은 쌍을 구합니다.
난이도

어려움10점 중 8점

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

문제

소수 pp와 점화식 xn=axn−1+bxn−2x_n = ax_{n-1} + bx_{n-2} (n≥2n \ge 2), 그리고 초항 x0x_0, x1x_1이 정해지면, 다음 조건을 만족하는 정수 S≥0S \ge 0, T>0T > 0의 존재는 비둘기집의 원리에 따라 보장된다.

조건: 모든 SS 이상의 정수 nn에 대해 xn+T−xnx_{n+T} - x_n이 pp의 배수이다.

문제는 위 조건을 만족하는 (S,T)(S, T) 중 사전순으로 가장 작은 것을 찾는 것이다.

입력

첫째 줄에 정수 p,a,b,x0,x1p, a, b, x_0, x_1가 주어진다. pp는 소수임이 보장된다.

출력

첫째 줄에 조건을 만족하는 (S,T)(S, T) 중 사전순으로 가장 작은 것을 출력한다.

제한

  • 0<p≤21474836470 < p \le 2147483647
  • 0≤a,b,x0,x1<p0 \le a, b, x_0, x_1 < p

예제3

  1. 예제 1

    입력
    89 1 1 1 1
    
    예상 출력
    0 44
    
  2. 예제 2

    입력
    1234567891 1 0 794594 353243
    
    예상 출력
    1 1
    
  3. 예제 3

    입력
    100003 2 100002 7 10
    
    예상 출력
    0 100003