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

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

Обратные числа

시간 제한2초메모리 제한1024 MB

요약
소수 m과 1 <= a < m인 a가 주어질 때, a*b mod m = 1을 만족하는 역원 b를 구한다.
난이도

보통10점 중 5점

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

문제

Позавчера Рома узнал про новую для него операцию в математике --- взятие по модулю, которая обозначается amod⁡ma \operatorname{mod} m, например 5mod⁡3=25 \operatorname{mod} 3 = 2. Напомним, что amod⁡m=ba \operatorname{mod} m = b, если a=m⋅k+ba = m \cdot k + b и 0≤b<m0 \le b < m (все перечисленные числа целые).

Вчера Рома начал перемножать числа, и заметил, что бывают такие случаи, что (a⋅b)mod⁡m=1(a \cdot b) \operatorname{mod} m = 1 (причем не обязательно оба числа равны единице). И это его очень заинтересовало, он даже придумал название этому феномену --- числа aa и bb взаимно обратны по модулю mm.

Сегодня утром Рома начал рассматривать простые числа mm. Он доказал, что в таком случае для любого числа a:1≤a<ma: 1 \le a < m существует ровно одно bb, такое что (a⋅b)mod⁡m=1(a \cdot b) \operatorname{mod} m=1. Однако он не знает, как по числам aa и mm найти число bb. Помогите ему!

입력

В единственной строчке входного файла заданы числа aa и mm (1≤a\<m≤2⋅1091 \le a\<m \le 2 \cdot 10^9). Число mm --- простое.

출력

В выходной файл выведите число bb, такое что (a⋅b)mod⁡m=1(a\cdot b) \operatorname{mod} m=1. Оно должно также удовлетворять неравенству 1≤b<m1 \le b < m.

예제2

  1. 예제 1

    입력
    3 7
    
    예상 출력
    5
    
  2. 예제 2

    입력
    6 23
    
    예상 출력
    4