제곱 ㄱㄱ
시간 제한1초메모리 제한512 MB
N이 주어질 때 100N과 100N+1이 모두 제곱ㄱㄱ 수인지 판별하고, 맞다면 각 수를 B^2C^3 꼴로 출력합니다.
문제
명준은 쉬운 문제인 제곱 ㄴㄴ를 풀지 못해 화가 났다. 그래서 제곱ㄴㄴ수를 뒤집은 제곱ㄱㄱ수를 만들어냈다.
양의 정수 의 모든 소인수 에 대해 도 의 약수이면, 를 제곱ㄱㄱ수라고 한다. 첫 제곱ㄱㄱ수는 1, 4, 8, 9, 16, 25, 27, 32, ... 이다.
제곱ㄱㄱ수를 하나 찾는 것은 쉽다. 아무 거듭제곱수를 잡으면 곧 제곱ㄱㄱ수이기 때문이다. 또 명준은 모든 제곱ㄱㄱ수가 제곱수와 세제곱수를 곱한 형태로 표현할 수 있다는 것도 알아냈다.
원하는 크기의 제곱ㄱㄱ수를 하나 찾는 것이 쉽기 때문에, 명준은 이웃한 두 양의 정수가 모두 제곱ㄱㄱ수가 되는 경우를 찾으려고 한다. 명준이 원하는 크기의 이웃한 두 제곱ㄱㄱ수가 있는지 찾아주자!
입력
첫째 줄에 정수 이 주어진다. ()
출력
와 이 모두 제곱ㄱㄱ수이고, 을 만족하는 를 찾으면 된다.
조건을 만족하는 가 존재하는 경우, 첫째 줄에 인 두 양의 정수 , 를 출력한다.
둘째 줄에 인 두 양의 정수 , 를 출력한다.
조건을 만족하는 가 여럿 있다면 그중 하나에 대한 답만 출력한다.
조건을 만족하는 가 없는 경우에는 첫째 줄에 -1을 출력하고 종료한다.