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);
}