/*#include <stdio.h>
char stack[201]={};
int top=-1;
void push(char a)
{
top++;
stack[top]=a;
}
char pop()
{
return stack[top--];
}
int main()
{
int a,i,t;
int cnt=0;
char n[201];
scanf("%d",&a);
scanf("%s",n);
for(i=a-1;i>=0;i--)
{
push(n[i]);
cnt++;
if(cnt==3 && i!=0)
{
push(',');
cnt=0;
}
}
while(top!=-1)
{
printf("%c",pop());
}
return 0;
}
*/
/*
#include <stdio.h>
int stack[1000]={};
int top=-1;
void push(int a)
{
top++;
stack[top]=a;
}
int pop()
{
return stack[top--];
}
int main()
{
int n,t,i;
for(i=0;i<3;i++)
{
scanf("%d",&n);
push(n);
}
while(top!=-1)
{
printf("%d ",pop());
}
return 0;
}
*/
#include <stdio.h>
#include <string.h>
char stack[50001]={};
int top=-1;
void push(char a)
{
top++;
stack[top]=a;
}
char pop()
{
return stack[top--];
}
int main()
{
int i,t;
char n[50001];
scanf("%s",n);
for(i=0;n[i]!=NULL;i++)
{
if(n[i]=='(')
{
push(n[i]);
}
else
{
pop();
// ')' 닫는 괄호가 나와서 pop을 했어.
//(보다 )가 더 많이 나와버렸어 -> bad출력, 중단!
if(top<-1)
{
printf("bad");
return 0;
}
}
}
if(top==-1)
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}