import java.util.Scanner;
import java.util.regex.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Pattern blank = Pattern.compile("[ \n]");
        Pattern upper = Pattern.compile("[A-Z]");
        Pattern lower = Pattern.compile("[a-z]");
        Pattern digit = Pattern.compile("[0-9]");
        Pattern other = Pattern.compile("[^A-Za-z0-9]");

        Pattern r = Pattern.compile("(.{3,}).*\\1");
        while (in.hasNextLine()) {
            String line = in.nextLine();
            //1.超过8位
            if (line.length() <= 8) {
                System.out.println("NG");
                continue;
            }
            //2.包括大小写字母.数字.其它符号,以上四种至少三种
            //2.1 不包含空格或换行
            if (blank.matcher(line).find()) {
                System.out.println("NG");
                continue;
            }
            //2.2 大写字母
            int sum = 0;
            if (upper.matcher(line).find()) {
                sum++;
            }
            //2.3 小写字母
            if (lower.matcher(line).find()) {
                sum++;
            }
            //2.4 数字
            if (digit.matcher(line).find()) {
                sum++;
            }
            //2.5 其他字符
            if (other.matcher(line).find()) {
                sum++;
            }
            if (sum < 3) {
                System.out.println("NG");
                continue;
            }
            //3.不能有长度大于2的包含公共元素的子串重复
            if (r.matcher(line).find()) {
                System.out.println("NG");
                continue;
            }
            //4.满足全部条件
            System.out.println("OK");


        }
    }
}