import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (sc.hasNextLine()) {
            String str=sc.nextLine();
            if(str.length()<=8){
                System.out.println("NG");
                continue;
            }
            int cnt=0;
            //检查是否有大写字母
            for(char ch:str.toCharArray()){
                if(ch>='A' && ch<='Z'){
                    cnt++;
                    break;
                }
            }
            //检查是否有小写字母
            for(char ch:str.toCharArray()){
                if(ch>='a' && ch<='z'){
                    cnt++;
                    break;
                }
            }
            //检查是否存在数字
            for(char ch:str.toCharArray()){
                if(ch>='0' && ch<='9'){
                    cnt++;
                    break;
                }
            }
            //检查是否存在特殊字符
            for(char ch:str.toCharArray()){
                if((ch>57 && ch<65)||ch<48||(ch>90&&ch<97)||ch>122){
                    cnt++;
                    break;
                }
            }
            if(cnt<3){
                System.out.println("NG");
                continue;
            }
            //验证子串是否满足要求
            boolean flag=false;
            //左指针
            for(int i=0;i<str.length()-2&&!flag;i++){
                //右指针
                for(int j=str.length();j>=i+2&&!flag;j--){
                    //截取当前子串
                    String str_=new String(Arrays.copyOfRange(str.toCharArray(),i,j+1));
                    //能够找到一样的子串
                    if(str.indexOf(str_,j+1)!=-1){
                        System.out.println("NG");
                        flag=true;
                    }
                }
            }
            if(!flag)
                System.out.println("OK");
        }
    }
}