let input;
while(input = readline()) {
let str = input;
let result = 'OK';
// 1. 长度超过8位
if (str.length <= 8) {
result = 'NG';
}
// bianli
let a = 0;
let b = 0;
let c = 0;
let d = 0;
for(let i = 0; i < str.length; i++) {
if (parseInt(str[i]) >= 0 && parseInt(str[i]) <= 9) {
a = 1;
} else if (str[i].charCodeAt(0) >= 65 && str[i].charCodeAt(0) <= 90) {
b = 1;
} else if (str[i].charCodeAt(0) >= 97 && str[i].charCodeAt(0) <= 122) {
c = 1;
} else {
d = 1;
}
// 3.不能有长度大于2的不含公共元素的子串重复
let l = i - 1;
let r = i + 1;
if (l >= 0 && r < str.length) {
let child = str.slice(l, r + 1);
if (str.indexOf(child) !== str.lastIndexOf(child)) {
result = 'NG';
}
}
}
// 2.包括大小写字母.数字.其它符号,以上四种至少三种
if (a + b + c + d < 3) {
result = 'NG';
}
print(result);
}