만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

덧셈역과 곱셈역 구하기

면접 대비

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

요약
N과 A가 주어질 때 A의 덧셈 역원과, 존재하면 곱셈 역원을, 없으면 -1을 출력한다.
난이도

보통10점 중 4점

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

문제

집합 ZNZ_N은 00부터 N−1N-1까지의 정수 집합이다. a,b,c∈ZNa, b, c \in Z_N일 때 (a+b) mod N=0(a + b) \bmod N = 0이면 bb를 aa의 덧셈역이라 하고, (a×c) mod N=1(a \times c) \bmod N = 1이면 cc를 aa의 곱셈역이라 한다.

정수 NN과 AA가 주어진다. ZNZ_N에서 AA의 덧셈역과 곱셈역을 구하라. 곱셈역이 없으면 −1-1을 출력한다.

입력

첫째 줄에 NN(2≤N≤10122 \le N \le 10^{12})과 AA(1≤A<N1 \le A < N)가 공백으로 구분되어 주어진다.

출력

첫째 줄에 ZNZ_N에서 AA의 덧셈역과 곱셈역을 공백으로 구분해 출력한다. 곱셈역이 존재하지 않으면 그 자리에 −1-1을 출력한다.

두 역원은 모두 00 이상 NN 미만의 정수이고, 조건을 만족하는 값은 각각 하나뿐이다.

힌트

N=26N = 26, A=11A = 11인 경우 (11+15) mod 26=0(11 + 15) \bmod 26 = 0이므로 덧셈역은 1515이고, (11×19) mod 26=1(11 \times 19) \bmod 26 = 1이므로 곱셈역은 1919다.

예제3

  1. 예제 1

    입력
    26 11
    
    예상 출력
    15 19
    
  2. 예제 2

    입력
    100 20
    
    예상 출력
    80 -1
    
  3. 예제 3

    입력
    32760247633 22801763489
    
    예상 출력
    9958484144 12390598440