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

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

잃어버린 분수

시간 제한1초메모리 제한128 MB

요약
n과 a가 주어질 때 분모가 n 이하인 기약분수 중 닫힌구간 [a/n^2, (a+1)/n^2]에 들어가는 것을 모두 오름차순으로 나열한다.
난이도

어려움10점 중 8점

유형
정수론, 수학, 이분 탐색
정답자
아직 제출이 없습니다

문제

Byteasar는 분모가 nn 이하인 아주 멋진 분수 하나를 만들었지만, 시간이 지나면서 그 분수가 무엇이었는지 잊어버렸습니다. 다만 그 분수가 닫힌구간 [an2,a+1n2]\left[\frac{a}{n^2}, \frac{a+1}{n^2}\right] 안에 있었다는 것만은 거의 확실하게 기억하고 있습니다. 이 구간 안에 들어가면서 분모가 nn 이하인 모든 분수를 찾아 Byteasar를 도와주세요.

여기서 '분모가 nn 이하인 분수'란 기약분수로 나타냈을 때 분모가 nn 이하가 되는 유리수를 뜻합니다. 구간의 양 끝 값도 포함합니다(닫힌구간).

입력

첫 번째 줄에 두 정수 nn과 aa가 공백 하나로 구분되어 주어집니다 (1≤n<2321 \le n < 2^{32}, 1≤a<264−11 \le a < 2^{64}-1).

출력

첫 번째 줄에 구간 [an2,a+1n2]\left[\frac{a}{n^2}, \frac{a+1}{n^2}\right] 안에 있으면서 분모가 nn 이하인 서로 다른 기약분수의 개수 mm을 출력합니다.

이어지는 mm개의 줄에는 각 분수의 분자와 분모를 공백 하나로 구분해 출력합니다. 각 분수는 반드시 기약분수로 나타내며, 값이 작은 것부터 큰 순서(오름차순)로 출력합니다.

예제1

  1. 예제 1

    입력
    5 43
    
    예상 출력
    1
    7 4