#P2635. The Embarrassed Cryptographer

The Embarrassed Cryptographer

描述

</h2>

年轻且极具潜力的密码学家奥德·埃文(Odd Even)为一个拥有数千用户的大型系统实现了安全模块,该系统目前已在他的公司投入使用。加密密钥由两个质数的乘积生成,人们认为其安全的原因在于,目前尚无已知的有效方法可以对这种乘积进行因数分解。

然而,奥德·埃文没有考虑到的是,密钥中的两个因数都应该足够大,而不仅仅是它们的乘积足够大。现在,该系统的某些用户可能拥有弱密钥。为了避免被解雇,奥德·埃文秘密检查所有用户的密钥,以确定它们是否足够强大。他使用自己功能非常强大的雅达利(Atari)计算机进行检查,尤其是在检查老板的密钥时格外小心。

输入

输入包含不超过20个测试用例。每个测试用例为一行,包含整数4K101004 \leq K \leq 10^{100}2L1062 \leq L \leq 10^6。其中,KK本身就是一个密钥,由两个质数相乘得到;LL是密钥中因数所需的最小大小。输入集以K=0K = 0L=0L = 0的情况终止。

输出

对于每个数字KK,如果其某个因数严格小于所需的LL,则程序应输出“BAD p”,其中ppKK的最小因数;否则,输出“GOOD”。各用例的输出之间应以换行符分隔。

输入数据1

143 10
143 20
667 20
667 30
2573 30
2573 40
0 0

输出数据1

GOOD
BAD 11
GOOD
BAD 23
GOOD
BAD 31