const isValidPassword = (password) => {
    // 1.长度超过8位
    if (password.length < 8) {
        return false;
    }
    // 2.包括大小写字母.数字.其它符号,以上四种至少三种
    let a = 0;
    let b = 0;
    let c = 0;
    let d = 0;
    for (const pass of password) {
        if (/[a-z]/.test(pass)) {
            a = 1;
        } else if (/[A-Z]/.test(pass)) {
            b = 1;
        } else if (/\d/.test(pass)) {
            c = 1;
        } else {
            d = 1;
        }
    }
    if (a+b+c+d < 3) {
        return false;
    }
    // 3.不能有长度大于2的包含公共元素的子串重复
    let i = 0;
    const reg = /[\(&\+]/;
    while (i < password.length - 2) {
        let cur = password[i];
        let next = password[i+1];
        if (reg.test(cur)) {
            i ++;
            continue;
        }
        const repeatIndex = password.lastIndexOf(cur + next);
        if (repeatIndex !== i && repeatIndex !== i+1) {
            return false;
        }
        i ++;
    }
    return true;
};

let i = 100;

while (i > 0) {
    const input = readline();
    if (!input) {
        break;
    }
    if (isValidPassword(input)) {
        console.log('OK');
    } else {
        console.log('NG');
    }
    i --;
}