正则
1、基本格式//.test(str)
2、/[]/表示一个字符,0-9,a-z,A-Z,^0-9a-zA-Z表示数字,字母,其他符号
3、slice(i,i+3),从第i个到i+3个字符

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    // Write your code here
    while(line = await readline()){
        console.log(lengthFn(line) && typeFn(line) && repeateFn(line)? "OK":"NG")
    }
}()

const lengthFn = (paw) => {
    if(paw.length > 8) {
        return true
    }else {
        return false
    }
}

const typeFn = (paw) => {
    let number = 0
    if(/[a-z]/.test(paw)){
        number++
    }
    if(/[A-z]/.test(paw)){
        number++
    }
    if(/[0-9]/.test(paw)){
        number++
    }
    if(/[^0-9a-zA-Z]/.test(paw)){
        number++
    }
    return number>=3? true : false
}

const repeateFn = (paw) => {
    const arr = []
    for(let i = 0; i<paw.length-2; i++){
        const value = paw.slice(i,i+3)
        if(arr.indexOf(value) != -1){
            return false
        }else {
            arr.push(value)
        }
    }
    return true
}