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

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

주 선생님과 근

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

요약
각 질의 (x, y)마다 n의 어떤 소인수 p에 대해 x^k ≡ y (mod p)를 만족하는 가장 작은 k ≥ 0을 구하고, 없으면 -1을 출력한다.
난이도

어려움10점 중 9점

유형
정수론, 수학, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

주 선생님에게 수 nn이 있다. 그는 여러분에게 qq개의 질의를 한다. ii번째 질의는 정수 쌍 (xi,yi)(x_i, y_i)이다. ii번째 질의에서 여러분은 nn의 소인수 pp 가운데 하나에 대해 xiki≡yi(modp)x_i^{k_i} \equiv y_i \pmod p가 성립하도록 하는 가장 작은 음이 아닌 정수 kik_i를 찾거나, 그러한 kik_i가 존재하지 않음을 판별해야 한다.

이 문제에서 00=10^0 = 1로 본다.

입력

첫째 줄에 두 정수 nn과 qq가 주어진다. (1≤n≤1081 \le n \le 10^8, 1≤q≤1051 \le q \le 10^5) 다음 qq개 줄에 각각 두 정수 xix_i와 yiy_i가 주어진다. (0≤xi,yi≤1090 \le x_i, y_i \le 10^9)

출력

각 질의마다 답을 한 줄에 하나씩 출력한다. kik_i를 찾았다면 kik_i를 출력하고, 찾지 못했다면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    175 2
    2 1
    2 3
    
    예상 출력
    0
    3