$Alien$ likes to give challenges to $Codezen$ team to check their implementation ability, this time he has given a string $S$ and asked to find out whether the given string is a $GOOD$ string or not.
According to the challenge $GOOD$ String is a string that has at least $3$ consecutive vowels and at least $5$ different consonants.
For example $ACQUAINTANCES$  is a $ GOOD $String ,as it contains $3$ consecutive vowels  $UAI$ and $5$ different consonants $ {C, Q, N, T, S} $
but  $ACQUAINT $ is  not ,as it contain $3$ vowels but have only $ 4$ different consonants 
${C, Q, N, T}$.

-----Input:-----
A string input is given from Standard Input that consists of only capital letters. 

-----Output:-----
Output  a single line  that  is either $GOOD$  (if string is a good string ) or $-1$(if string is not good).

-----Constraints-----
- $8 \leq S \leq 1000$

-----Sample Input 1:-----
AMBITIOUSNESS

-----Sample Output 2:-----
GOOD

-----Sample Input 2:-----
COOEY

-----Sample Output 2:-----
-1

Difficulty: UNKNOWN_DIFFICULTY

Solutions:
s = input()
L = []
for i in s:
	L.append(i)
vowels = ['A', 'E', 'I', 'O', 'U']
flag = 0
for i in range(len(L) - 2):
	if L[i] in vowels and L[i + 1] in vowels and (L[i + 2] in vowels):
		flag = 1
		break
if flag == 1:
	while 'A' in L:
		L.remove('A')
	while 'E' in L:
		L.remove('E')
	while 'I' in L:
		L.remove('I')
	while 'O' in L:
		L.remove('O')
	while 'U' in L:
		L.remove('U')
	newL = []
	for i in L:
		if i not in newL:
			newL.append(i)
	if len(newL) >= 5:
		print('GOOD')
	else:
		print(-1)
else:
	print(-1)


s = input()
cons = []
vow = 0
maxvow = 0
for i in range(len(s)):
	if s[i] == 'A' or s[i] == 'E' or s[i] == 'I' or (s[i] == 'O') or (s[i] == 'U'):
		vow += 1
	else:
		if s[i] not in cons:
			cons.append(s[i])
		if vow > maxvow:
			maxvow = vow
		vow = 0
if len(cons) >= 5 and maxvow >= 3:
	print('GOOD')
else:
	print('-1')


s = input()
v = 0
cons = 0
consonant = []
n = len(s)
vowels = ['A', 'E', 'I', 'O', 'U']
if n < 8:
	print(-1)
	return
for i in range(n):
	if s[i] in vowels and v == 0:
		if s[i + 1] in vowels and s[i + 2] in vowels:
			v = 1
	if s[i] not in vowels and s[i] not in consonant:
		cons += 1
		consonant.append(s[i])
if v == 1 and cons >= 5:
	print('GOOD')
else:
	print(-1)


s = 'AEIOU'
v = 0
c = 0
a = 3
n = input()
if len(list(set(n))) < 8:
	print(-1)
else:
	for i in range(0, len(n)):
		if i != len(n) - 2:
			k = n[i:i + 3]
			if k in s:
				c = c + 1
				break
	for y in set(n):
		if y not in s:
			v = v + 1
	if v >= 5 and c > 0:
		print('GOOD')
	else:
		print(-1)


a = input()
z = list(a)
l = []
l1 = []
flag = 0
flag1 = 0
v = ['A', 'E', 'I', 'O', 'U']
for i in range(len(z)):
	if i < len(z) - 3:
		for j in range(i, i + 3):
			if z[j] in v and z[j] not in l:
				l.append(j)
			else:
				break
		if len(l) == 3:
			flag = 1
			break
		l.clear()
for i in z:
	if i not in v and i not in l1:
		l1.append(i)
if len(l1) >= 5:
	flag1 = 1
if flag == 1 and flag1 == 1:
	print('GOOD')
else:
	print(-1)


try:
	s = input()
	v = ['A', 'E', 'I', 'O', 'U']
	consec = False
	constants = []
	cons_count = 0
	for i in range(len(s)):
		if s[i] not in constants and s[i] not in v:
			constants.append(s[i])
			cons_count += 1
	for i in range(len(s) - 2):
		if s[i] in v and s[i + 1] in v and (s[i + 2] in v):
			consec = True
			break
	if cons_count >= 5 and consec == True:
		print('GOOD')
	else:
		print(-1)
except:
	pass


v = ['a', 'e', 'i', 'o', 'u']
c = []
vo = 0
co = 0
k = []
p = []
for i in range(97, 123):
	if chr(i) not in v:
		c = c + [chr(i)]
x = input().lower()
for i in range(len(x)):
	if x[i] in v:
		vo += 1
	else:
		p = p + [vo]
		vo = 0
	if x[i] in c:
		k = k + [x[i]]
k = list(set(k))
p = list(filter(lambda x: x >= 3, p))
if len(p) >= 1 and len(k) >= 5:
	print('GOOD')
else:
	print(-1)


from sys import stdin, stdout
s = stdin.readline().strip()
v = ['A', 'E', 'I', 'O', 'U']
c1 = 0
c2 = 0
for i in range(len(s) - 2):
	if s[i] in v:
		if s[i + 1] in v and s[i + 2] in v:
			c1 = 1
			break
if len(set(s).difference(v)) >= 5:
	c2 = 5
if c1 == 1 and c2 == 5:
	stdout.write(str('GOOD'))
else:
	stdout.write(str(-1))