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