/*
AizuOnline A1173
Title
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
#define LEN 100
char s[LEN+1];
char stack[LEN];
//
int chk_paren(char * s)
{
  int i,lv;
  char c;
  lv=0;
  for(i=0;i<strlen(s);i++)
    { c=s[i];
      if('('==c || '['==c)
	stack[lv++]=c;
      else if (')'==c)
	{
	  if(lv < 0)
	    return(0);
	  if(stack[lv-1]!='(')
	    return(0);
	  lv--;
	}
      else if (']'==c)
	{
	  if(lv < 0)
	    return(0);
	  if(stack[lv-1]!='[')
	    return(0);
	  lv--;
	}
    }
  if(lv==0 && s[i-2]=='.') //last 2 chars=period+CRLF
    return(1);
  else
    return(0);
}

main()
{
  while(1)
    {
      fgets(s,LEN,stdin);
      if((strlen(s)<3) && (s[0]='.'))
	break;
      printf("%s\n",chk_paren(s)?"OK":"NG");
    }
return(0);
}