import java.io.*;
import java.util.*;
class Main{
int n
= Integer.
parseInt(input.
readLine());
LinkedList<Integer> target = new LinkedList<Integer>();
LinkedList<Integer> condition = new LinkedList<Integer>();
for (int i = 0; i < n; i++){
target.
offerLast(Integer.
parseInt(st1.
nextToken())); condition.
offerLast(Integer.
parseInt(st2.
nextToken())); }
while (condition.peekFirst() != target.peekFirst()){
condition.offerLast(condition.pollFirst());
}
boolean isGoodPuzzle = true;
ArrayList<Integer> targetarr = convertList(target);
ArrayList<Integer> conditionarr = convertList(condition);
for (int i = 1; i < n; i++){
if (targetarr.get(i) != conditionarr.get(i)){
isGoodPuzzle = false;
break;
}
}
if (!isGoodPuzzle){
isGoodPuzzle = true;
int temp = condition.pollFirst();
condition = reverseList(condition);
condition.addFirst(temp);
conditionarr = convertList(condition);
for (int i = 1; i < n; i++){
if (targetarr.get(i) != conditionarr.get(i)){
isGoodPuzzle = false;
break;
}
}
}
System.
out.
println(isGoodPuzzle
? "good puzzle" : "bad puzzle"); }
public static LinkedList<Integer> reverseList (LinkedList<Integer> arr){
LinkedList<Integer> target = new LinkedList<Integer>();
while(!arr.isEmpty()){
target.offerLast(arr.pollLast());
}
return target;
}
public static ArrayList<Integer> convertList(LinkedList<Integer> arr){
ArrayList<Integer> target = new ArrayList<Integer>();
target.add(arr.pollFirst());
return target;
}
}