픽셔너리

i번째 날에 최대공약수가 M-i+1인 도시 쌍을 도로로 잇는다. 각 질의마다 두 도시가 처음 연결되는 날짜를 구한다.

어려움8유니온 파인드정수론그래프수학아직 제출이 없습니다시간 제한1.5초메모리 제한64 MB

문제

우주의 아직 발견되지 않은 곳에 수학자만 사는 나라가 있는 행성이 있다. 이 나라에는 수학자가 NN명 살고, 수학자마다 자기만의 도시에 산다. 도시에는 11번부터 NN번까지 번호가 붙어 있다. 수학자는 온라인으로 이야기하거나 서로의 논문을 읽으며 지내서, 처음에는 어느 두 도시도 도로로 이어져 있지 않다.

그러던 어느 날 한 수학자가 스마트폰으로 논문을 쓰다가 자동 고침이 "자명하다"를 "픽셔너리"로 바꿔 버렸고, 논문은 그대로 출판됐다. 곧 온 나라가 픽셔너리를 알게 되어 모여서 게임을 하고 싶어했고, 도시를 잇는 도로 공사가 시작됐다.

공사는 모두 MM일 동안 다음 일정으로 진행된다. 첫째 날에는 최대공약수가 MM인 모든 도시 쌍 사이에 도로를 놓는다. 둘째 날에는 최대공약수가 M1M-1인 모든 도시 쌍 사이에 도로를 놓고, 이렇게 계속해서 MM일째에는 서로소인 모든 도시 쌍 사이에 도로를 놓는다. 정리하면 ii일째에는 gcd(a,b)=Mi+1\gcd(a, b) = M - i + 1인 두 도시 aabb 사이에 도로를 놓는다.

두 수학자는 사는 도시 사이를 도로를 따라 오갈 수 있게 되면 만날 수 있고, 중간에 다른 도시를 거쳐도 된다. 수학자들은 공사로 바빠서, 주어진 두 수학자가 함께 픽셔너리를 할 수 있게 되기까지 걸리는 최소 일수를 대신 구해 달라고 부탁했다.

입력

첫째 줄에 양의 정수 NN, MM, QQ가 주어진다. (1N,Q1000001 \le N, Q \le 100\,000, 1MN1 \le M \le N) 차례대로 도시의 수, 도로 공사에 걸리는 날수, 질의의 수다.

다음 QQ개의 줄에는 서로 다른 두 양의 정수 AABB가 주어진다. (1A,BN1 \le A, B \le N) 함께 픽셔너리를 하기까지 며칠이 걸리는지 알고 싶어하는 두 수학자가 사는 도시다.

출력

QQ개의 줄을 출력한다. ii번째 줄에는 ii번째 질의의 두 수학자가 함께 픽셔너리를 할 수 있게 되기까지 걸리는 최소 일수를 출력한다.

힌트

첫 번째 예제 설명이다. 첫째 날에 도로 (3,6)(3, 6)이 놓이므로 두 번째 질의의 답은 11이다. 둘째 날에는 도로 (2,4)(2, 4), (2,6)(2, 6), (2,8)(2, 8), (4,6)(4, 6), (6,8)(6, 8)이 놓이고, 도시 66을 거쳐 도시 44와 도시 88이 이어진다. 셋째 날에는 서로소인 도시 사이에 도로가 놓이므로 도시 22와 도시 55가 이어진다.

두 번째 예제 설명이다. 둘째 날에 도로 (20,15)(20, 15)가 놓이고, 넷째 날에 도로 (15,9)(15, 9)가 놓인다. 넷째 날이 지나면 도시 1515를 거쳐 도시 2020과 도시 99가 이어진다.