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

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

Rikka와 진분수

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

요약
분모가 n 이하인 기약 진분수 e/f 가운데 주어진 두 분수 a/b 와 c/d 사이에 있는 것의 개수를 998244353으로 나눈 나머지로 구한다.
난이도

어려움10점 중 9점

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

문제

Rikka는 사랑스러운 소녀다. 예전에는 수학을 잘하지 못했지만, 남자친구 Yuta의 도움으로 크게 발전했다. 이제 Rikka는 혼자서도 수학 연구를 할 수 있게 되었다.

오늘 Rikka는 유리수 근사에 관한 자료를 읽고 있다. 분모가 nn보다 작은 모든 분수 중에서 주어진 수 xx에 가장 가까운 분수 ab\frac{a}{b}를 찾아 주는 연분수 전개 알고리즘에 Rikka는 흥미를 느꼈다.

Rikka는 이 문제의 난이도를 가늠해 보려고 한다. 그녀는 xx보다 작은 분수 ab\frac{a}{b}와 xx보다 큰 분수 cd\frac{c}{d}를 고른다. 그리고 구간 [ab,cd][\frac{a}{b},\frac{c}{d}] 안에서 분모가 nn 이하인 분수로 나타낼 수 있는 유리수의 개수를 구하려고 한다. 형식적으로, ab\frac{a}{b}, cd\frac{c}{d}, nn이 주어졌을 때 Rikka는 ab≤ef≤cd\frac{a}{b} \leq \frac{e}{f} \leq \frac{c}{d}를 만족하는 진분수 ef\frac{e}{f} (1≤e<f≤n1 \leq e < f \leq n, gcd(e,f)=1\mathrm{gcd}(e, f) = 1)의 개수를 구하려고 한다.

이 문제는 Rikka에게 너무 어려워 보인다. 그녀가 답을 구하도록 도와주자.

입력

첫 번째 줄에는 테스트 케이스의 수 tt (1≤t≤1031 \leq t \leq 10^3)가 주어진다.

각 테스트 케이스는 한 줄에 다섯 개의 정수 nn, aa, bb, cc, dd가 주어진다 (0<ab<cd<10 < \frac{a}{b} < \frac{c}{d} < 1, 1≤a,b,c,d≤1081 \leq a, b, c, d \leq 10^8).

ab\frac{a}{b}와 cd\frac{c}{d}는 모두 진분수이고, 1≤n≤10101 \leq n \leq 10^{10}이며, n>106n > 10^6인 테스트 케이스는 최대 33개임이 보장된다.

출력

각 테스트 케이스마다 한 줄에 하나의 정수를 출력한다. 이는 답을 998 244 353998\,244\,353으로 나눈 나머지이다.

예제1

  1. 예제 1

    입력
    3
    5 1 2 3 4
    10 1 2 7 9 
    1000000 2 13 10000 10001
    
    예상 출력
    4
    10
    620740490