from collections import defaultdict,deque

import sys,heapq,bisect,math,itertools,string,queue

sys.setrecursionlimit(10**8)

INF = float('inf')

mod = 10**9+7

eps = 10**-7

def inpl(): return list(map(int, input().split()))

def inpl_str(): return list(input().split())



S = eval(input())

bs = -1

for s in S:

    if s == bs:

        print('Bad')

        break

    bs = s

else:

    print('Good')

from collections import defaultdict,deque

import sys,heapq,bisect,math,itertools,string,queue

sys.setrecursionlimit(10**8)

INF = float('inf')

mod = 10**9+7

eps = 10**-7

def inp(): return int(eval(input()))

def inpl(): return list(map(int, input().split()))

def inpl_str(): return list(input().split())



S = eval(input())

if S[0] == S[1] or S[1]==S[2] or S[2]==S[3]:

    print('Bad')

else:

    print('Good')

from collections import defaultdict, deque
import sys, heapq, bisect, math, itertools, string, queue

sys.setrecursionlimit(10**8)
INF = float("inf")
mod = 10**9 + 7
eps = 10**-7


def inpl():
    return list(map(int, input().split()))


def inpl_str():
    return list(input().split())


S = eval(input())
bs = -1
for s in S:
    if s == bs:
        print("Bad")
        break
    bs = s
else:
    print("Good")

from collections import defaultdict, deque
import sys, heapq, bisect, math, itertools, string, queue

sys.setrecursionlimit(10**8)
INF = float("inf")
mod = 10**9 + 7
eps = 10**-7


def inp():
    return int(eval(input()))


def inpl():
    return list(map(int, input().split()))


def inpl_str():
    return list(input().split())


S = eval(input())
if S[0] == S[1] or S[1] == S[2] or S[2] == S[3]:
    print("Bad")
else:
    print("Good")

+ + +def inp(): +    return int(eval(input())) -bs = -1 -for s in S: -    if s == bs: -        print("Bad") -        break -    bs = s +if S[0] == S[1] or S[1] == S[2] or S[2] == S[3]: +    print("Bad")