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")
}
}
}