만드는 중입니다

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

제곱 ㄱㄱ

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

요약
N이 주어질 때 100N과 100N+1이 모두 제곱ㄱㄱ 수인지 판별하고, 맞다면 각 수를 B^2C^3 꼴로 출력합니다.
난이도

보통10점 중 4점

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

문제

명준은 쉬운 문제인 제곱 ㄴㄴ를 풀지 못해 화가 났다. 그래서 제곱ㄴㄴ수를 뒤집은 제곱ㄱㄱ수를 만들어냈다.

양의 정수 XX의 모든 소인수 pp에 대해 p2p^2도 XX의 약수이면, XX를 제곱ㄱㄱ수라고 한다. 첫 제곱ㄱㄱ수는 1, 4, 8, 9, 16, 25, 27, 32, ... 이다.

제곱ㄱㄱ수를 하나 찾는 것은 쉽다. 아무 거듭제곱수를 잡으면 곧 제곱ㄱㄱ수이기 때문이다. 또 명준은 모든 제곱ㄱㄱ수가 제곱수와 세제곱수를 곱한 형태로 표현할 수 있다는 것도 알아냈다.

원하는 크기의 제곱ㄱㄱ수를 하나 찾는 것이 쉽기 때문에, 명준은 이웃한 두 양의 정수가 모두 제곱ㄱㄱ수가 되는 경우를 찾으려고 한다. 명준이 원하는 크기의 이웃한 두 제곱ㄱㄱ수가 있는지 찾아주자!

입력

첫째 줄에 정수 NN이 주어진다. (0≤N<10000 ≤ N < 1000)

출력

AA와 A+1A+1이 모두 제곱ㄱㄱ수이고, 100N≤A<100N+1100N ≤ A < 100N+1을 만족하는 AA를 찾으면 된다.

조건을 만족하는 AA가 존재하는 경우, 첫째 줄에 A=B2C3A = B^2C^3인 두 양의 정수 BB, CC를 출력한다.

둘째 줄에 A+1=D2E3A+1 = D^2E^3인 두 양의 정수 DD, EE를 출력한다.

조건을 만족하는 AA가 여럿 있다면 그중 하나에 대한 답만 출력한다.

조건을 만족하는 AA가 없는 경우에는 첫째 줄에 -1을 출력하고 종료한다.

예제2

  1. 예제 1

    입력
    0
    
    예상 출력
    1 2
    3 1
    
  2. 예제 2

    입력
    1
    
    예상 출력
    5 3
    26 1