컴퓨터 시뮬레이션에는 종종 난수가 필요합니다. 유사 난수(pseudo-random number)를 만드는 방법 중 하나는 다음과 같은 형태의 함수를 사용하는 것입니다.
seed(x+1) = [ seed(x) + STEP ] % MOD
where "%" is the modulus operator.
이 함수는 0 이상 MOD-1 이하의 유사 난수(seed)를 생성합니다. 이런 형태의 함수가 가진 한 가지 문제점은 항상 같은 패턴을 반복해서 만들어 낸다는 것입니다. 이 영향을 최소화하려면 STEP과 MOD 값을 신중하게 골라야 하며, 잘 고르면 0부터 MOD-1까지의 모든 값이 고르게(균등하게) 나타나도록 할 수 있습니다.
예를 들어 STEP=3, MOD=5이면 함수는 0, 3, 1, 4, 2 라는 수열을 반복해서 만들어 냅니다. 이 경우 함수를 MOD번 반복하면 0부터 MOD-1까지의 모든 수가 정확히 한 번씩 생성됩니다. 같은 seed(x)가 나오면 항상 같은 seed(x+1)이 나온다는 함수의 성질 때문에, 어떤 함수가 0부터 MOD-1까지의 모든 수를 생성한다면 그 함수는 MOD번마다 유사 난수를 균등하게 생성한다는 뜻이 됩니다.
반면 STEP=15, MOD=20이면 함수는 (시작 seed가 0일 때) 0, 15, 10, 5 를 생성합니다. 시작 seed를 무엇으로 정하더라도 0부터 MOD-1까지의 모든 수를 만들어 낼 수 없으므로, 이는 STEP과 MOD를 잘못 고른 예입니다.
주어진 STEP과 MOD가 유사 난수를 균등하게 생성하는지 판정하세요.
입력은 여러 줄로 이루어집니다. 각 줄에는 STEP과 MOD를 나타내는 두 정수가 이 순서대로 주어집니다 ($1 \le STEP, MOD \le 100000$). 입력은 파일의 끝(EOF)까지 계속됩니다.
입력의 각 줄마다 다음 형식으로 한 줄을 출력합니다. STEP 값을 폭 10칸에 오른쪽 정렬하여(110번째 칸) 출력하고, 이어서 MOD 값을 폭 10칸에 오른쪽 정렬하여(1120번째 칸) 출력하며, 21번째 칸은 공백으로 두고 22번째 칸부터 판정 결과를 왼쪽 정렬로 출력합니다. STEP과 MOD를 골랐을 때 MOD개의 수를 생성하는 동안 0부터 MOD-1까지의 모든 수가 만들어지면 "Good Choice"를, 그렇지 않으면 "Bad Choice"를 출력합니다.
연속한 두 결과 사이에는 빈 줄 하나를 넣어 구분합니다. 마지막 결과 뒤에는 빈 줄을 추가로 출력하지 않습니다.