만드는 중입니다

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

하와위시 복호화

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

요약
각 테스트 케이스에서 시드를 A부터 B까지 균등하게 고를 때 처음 N개의 난수 안에 X가 나올 확률을 기약분수로 구합니다.
난이도

보통10점 중 6점

유형
정수론, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

하와위시는 이집트의 전통 음식이며, 워낙 귀하게 여겨져서 일부 사람들은 이것을 아주 튼튼한 금고에 보관한다. 금고는 다음 식에 따라 수열을 만드는 의사 난수 생성기로 보호된다.

Rn+1=(a×Rn+b) mod pR_{n+1} = (a \times R_n + b) \bmod p

여기서 aa, bb, pp는 정수이고, pp는 소수이다. R0R_0는 처음 생성되는 수이며, 수열의 시드(seed)라고 부른다.

시드는 [A,B][A, B] 범위의 정수 중에서 무작위로 고른 값이다. 금고의 키 번호는 처음 생성되는 NN개의 난수 R0,R1,⋯ ,RN−1R_0, R_1, \cdots, R_{N-1} 중 하나로 나타나는 수이다. 여러 키 번호 XX를 시험해 보기 전에, 먼저 XX가 처음 NN개의 난수에 나타날 확률을 구해야 한다.

입력

첫 줄에는 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 정수 NN, XX, AA, BB, aa, bb, pp가 한 줄에 주어진다. (1≤N,X,A,B,a,b≤p−11 \le N, X, A, B, a, b \le p - 1, 1<p<1081 < p < 10^8, 1≤A≤B≤min⁡(100,p−1)1 \le A \le B \le \min(100, p - 1), pp는 소수이다.)

출력

각 테스트 케이스마다 XX가 처음 NN개의 생성된 수에 나타날 확률을 기약분수 q/rq/r (qq, rr은 정수) 꼴로 한 줄에 출력한다. 이 확률은 항상 기약분수로 나타낼 수 있다고 보장된다.

힌트

예를 들어 a=2a = 2, b=1b = 1, p=7p = 7, R0=2R_0 = 2이면 생성되는 수는 2,5,4,2,5,4,2,5,4,⋯2, 5, 4, 2, 5, 4, 2, 5, 4, \cdots이다. 마지막 두 테스트 케이스에서는 a=4a = 4, b=7b = 7, p=11p = 11, R0=5R_0 = 5이므로 생성되는 수열은 5,5,5,⋯5, 5, 5, \cdots이다.

예제1

  1. 예제 1

    입력
    5
    2 2 4 5 2 1 7
    6 3 4 5 2 1 7
    2 2 1 5 2 1 7
    4 5 5 5 4 7 11
    4 6 5 5 4 7 11
    
    예상 출력
    1/2
    0/1
    2/5
    1/1
    0/1