좋은 암호

시간 제한2초메모리 제한128 MB

문제

많은 암호화 방식은 소수를 이용한다. 보통 아주 큰 두 소수의 곱을 키로 사용하는데, 이는 큰 수를 소인수분해하기 어렵다는 점을 이용한다.

두 소수를 크게 고르면 그 곱인 키도 커진다. 하지만 키가 크다고 해서 항상 소인수분해가 어려운 것은 아니다. 작은 인수를 가진 큰 수도 쉽게 나눌 수 있다.

키 값 K와 정수 L이 주어진다. K를 1이 아닌 정수들의 곱으로 나타낼 때, 모든 인수가 항상 L 이상인지 판별하자.

예를 들어 K = 14311 × 13으로 나눌 수 있다. 따라서 L = 11이면 좋은 암호이고, L >= 12이면 인수 11L보다 작으므로 좋은 암호가 아니다.

KL이 주어졌을 때 좋은 암호인지 판단하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 K, L이 공백으로 구분되어 주어진다.

출력

좋은 암호이면 GOOD을 출력한다. 좋은 암호가 아니면 BADK의 가장 작은 1이 아닌 인수를 공백으로 구분해 출력한다.

제한

  • 4 ≤ K ≤ 10^100
  • 2 ≤ L ≤ 1,000,000