package oj.test;
import java.util.*;
public class Demo5 {
/**
* @密码验证合格程序
* 密码要求:
* 1.长度超过8位
* 2.包括大小写字母.数字.其它符号,以上四种至少三种
* 3.不能有相同长度超2的子串重复
*
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> al = new ArrayList<String>();
while(sc.hasNext()){
String input = sc.next();
String output = fun(input);
al.add(output);
}
Iterator<String> it = al.iterator();
while(it.hasNext())
sop(it.next());
}
private static String fun(String str) {
char[] chs = str.toCharArray();
if(chs.length>8){
int flag = 0;
int uppercase=0,lowercase=0,digit=0,otherletter=0;
for(int i=0;i<chs.length;i++){
if(Character.isUpperCase(chs[i]))
uppercase++;
else if(Character.isLowerCase(chs[i]))
lowercase++;
else if(Character.isDigit(chs[i]))
digit++;
else
otherletter++;
}
if(uppercase>0)
flag++;
if(lowercase>0)
flag++;
if(digit>0)
flag++;
if(otherletter>0)
flag++;
if(flag>=3){
for(int i=0;i<chs.length-1;i++){
String sub = str.substring(i, i+2);
String remain = str.substring(i+2);
if(remain.indexOf(sub)>0)
return "NG";
}
return "OK";
}else
return "NG";
}else
return "NG";
}
private static void sop(Object obj) {
System.out.println(obj);
}
}