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

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

수학은 재밌어

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

요약
n이 10^9 이하로 주어질 때, x 곱하기 오일러 파이 함수 값이 n이 되는 가장 작은 양의 정수 x를 찾고, 없으면 -1을 출력한다.
난이도

보통10점 중 7점

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

문제

오일러는 수학을 정말 좋아해서 하루 종일 수학 공부만 하는 수학쟁이이다.

어느 날 오일러는 수학 공부를 하기 위해서 수학 책을 읽고 있던 중에 오일러 피 함수에 대해서 설명하는 부분을 보게 되었다. 오일러 피 함수는 다음과 같이 설명이 되어 있었다.

오일러 피 함수란 φ(n)\varphi(n)으로 표기하며 1부터 nn까지의 양의 정수 중에서 nn과 서로소인 수의 개수를 나타내는 함수이다.

예를 들면 φ(6)\varphi(6)은 1부터 6까지의 수 중 6과 서로소인 수의 개수를 말하는데 이는 1과 5로 두 개가 있으므로 φ(6)=2\varphi(6) = 2이다.

오일러는 책의 내용을 곰곰이 읽던 중 어떤 문제가 떠올랐다. 문제의 내용은 다음과 같다.

어떤 양의 정수 nn이 있다고 할 때, xφ(x)=nx\varphi(x) = n을 만족하는 양의 정수 xx가 존재하는가?

고민에 빠진 오일러를 본 당신은 오일러의 궁금증을 해결해주기 위해서 직접 문제를 풀기로 결심했다. 그러므로 당신은 xφ(x)=nx\varphi(x) = n을 만족하는 xx를 구하는 프로그램을 작성하면 된다.

입력

첫 번째 줄에 nn이 입력으로 주어진다. (1≤n≤1091 \le n \le 10^9)

출력

xφ(x)=nx\varphi(x) = n을 만족하는 양의 정수 xx가 존재하면 최소의 xx를, 존재하지 않으면 −1-1을 출력한다.

예제3

  1. 예제 1

    입력
    2
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    20
    
    예상 출력
    5