문제
자연수 n에 대해서, f(n)을 n의 모든 자리수의 숫자들의 제곱의 합이라고 정의하자.
예를 들어 n=19이면, f(19) = 12 + 92 = 82이다.
이 f를 계속 적용시켜 나가다 보면, 어떤 수들은 결국에 1이 된다. 이런 수들을 그뤠잇 넘버라고 한다. 예컨대, 19는 그뤠잇 넘버이다. 다음을 보면 그 이유를 알 수 있다.
f(19) = 12 + 92 = 82
f(82) = 82 + 22 = 68
f(68) = 62 + 82 = 100
f(100) = 12 + 02 + 02 = 1
모든 자연수들이 그뤠잇 넘버이진 않다. 실은, 수학자들이 이미 자연수 n가 그뤠잇 넘버가 아니면, 어떤 주기를 가지고 순환한다는 것을 증명해 놨다. 예를 들면 다음과 같다.
4 -> 16 -> 37 -> 58 -> 89 -> 145 -> 42 -> 20 -> 4 -> …
n이 주어졌을 때, n이 그뤠잇 넘버인지 아닌지 알아내는 프로그램을 작성하라.
입력
첫 줄에 T가 주어진다. T는 테스트케이스의 개수이다. (1 ≤ T ≤ 10)
다음 줄부터 T줄까지, 각 테스트 케이스 별로 자연수 n이 주어진다. n은 1이상 1,000,000,000이하의 자연수이다.
출력
T줄에 걸쳐, n이 그뤠잇 넘버이면 GREAT, 그뤠잇 넘버가 아니면 STUPID를 출력하라.
예제
2
19
5
GREAT
STUPID
출처
ACM-ICPC 2017 Daejeon, Problem D: Happy Number, moderate by ohjtgood