제곱근 작도
시간 제한1초메모리 제한128 MB
1e9 이하의 각 N에 대해 r^2 - a^2 = N을 만족하는 음이 아닌 정수 a, r을 찾고 a가 가장 작은 것을 출력하며, 없으면 IMPOSSIBLE을 출력한다.
문제
작도는 보통 눈금 없는 자와 컴퍼스만으로 한다. 컴퍼스가 있으므로 기준 길이(길이 )의 임의의 정수배는 쉽게 작도할 수 있고, 더 나아가 자연수의 제곱근도 작도할 수 있다.
예를 들어 길이가 인 선분을 작도해 보자. 먼저 수평선 위에 점 를 잡고, 를 한 끝점으로 하여 수평선과 수직이고 길이가 인 선분을 작도한다. 이 선분의 다른 끝점을 라고 하자. 이제 를 중심으로 하고 반지름이 인 원을 그린 뒤, 이 원이 수평선과 만나는 교점 중 하나를 라고 하면, 피타고라스 정리에 의해 선분 의 길이는 이 된다.
이 방법으로 길이가 인 선분을 작도하려고 한다. 즉, 음이 아닌 정수인 선분의 길이 와 원의 반지름 를 정하여 이 되도록 해야 한다. 조건을 만족하는 가 여러 가지라면 선분의 길이 가 가장 작은 것을 사용한다. (선분의 길이 는 이어도 된다.)
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 이어지는 개의 줄에는 각 테스트 케이스마다 정수 ()이 한 줄에 하나씩 주어진다.
출력
각 테스트 케이스마다 한 줄에 두 개의 음이 아닌 정수, 즉 선분의 길이 와 원의 반지름 를 공백으로 구분하여 출력한다. 조건을 만족하는 가 여러 가지라면 선분의 길이 가 가장 작은 경우를 출력한다. 어떤 로도 만들 수 없으면 IMPOSSIBLE을 출력한다.