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

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

모듈러 역원

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

요약
x와 m이 주어질 때, x*n을 m으로 나눈 나머지가 1이 되는 0 < n < m인 n을 찾고, 없으면 없다고 출력한다.
난이도

쉬움10점 중 2점

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

문제

많은 암호학 응용에서 모듈러 역원(modular inverse)은 핵심적인 개념이다. 이 문제에서는 주어진 수의 모듈러 역원을 구한다.

정수 xx와 mm이 0<x<m0 < x < m을 만족한다고 하자. xx의 모듈러 역원은 x×nx \times n을 mm으로 나눈 나머지가 11이 되는 유일한 정수 nn(0<n<m0 < n < m)이다.

예를 들어 4×13=52=17×3+14 \times 13 = 52 = 17 \times 3 + 1이므로 5252를 1717로 나눈 나머지는 11이고, 따라서 1313은 1717을 법으로 하는 44의 역원이다.

입력

첫째 줄에 정수 xx가, 둘째 줄에 정수 mm이 주어진다.

출력

xx의 mm에 대한 모듈러 역원 nn을 출력한다. 그러한 정수 nn이 존재하지 않으면 No such integer exists.를 출력한다.

제한

  • m≤100m \le 100
  • 0<x<m0 < x < m

예제2

  1. 예제 1

    입력
    4
    17
    
    예상 출력
    13
    
  2. 예제 2

    입력
    6
    10
    
    예상 출력
    No such integer exists.