package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	sc := bufio.NewScanner(os.Stdin)
	for sc.Scan() {
		str := sc.Text()
		lenth := len(str)
		if lenth < 8 {
			fmt.Println("NG")
			continue
		}
		var s1 string
		var hasa, hasA, hasN, hasS int
		var isNG bool
		for i := 0; i < lenth; i++ {
			if str[i] < 33 || str[i] > 126 {
				isNG = true
				break
			} else if str[i] >= '0' && str[i] <= '9' {
				hasN = 1
			} else if str[i] >= 'a' && str[i] <= 'z' {
				hasa = 1
			} else if str[i] >= 'A' && str[i] <= 'Z' {
				hasA = 1
			}else{
                hasS = 1
            }
		}
        for i := 0; i< lenth-3;i++{
            s1 = str[i:i+3]
            if strings.Contains(str[i+3:], s1) {
                isNG = true
            }
        }
        if isNG  || hasa+hasA+hasS+hasN < 3{
            fmt.Println("NG")
        }else{
            fmt.Println("OK")
        }
	}
}