#include <stdio.h>
#include <string.h>

#define SIZE 1000000

char bracs[SIZE]; //??¬??§???????????????????????????????????????????????????
int count; //bracs[]???????????????

void flush(char* str){ int i; for(i=0;i<SIZE;i++){ str[i]='\0'; } } //??????????????????????????\
void init(){ count = 0; flush(bracs); } //?????????????????????
void push(char c){ bracs[count++] = c; } //???????????????push

//??¬??§?????????????????¢??°???7-1????§£???????????????????????????????????¨??????????????????
int rmbrac(char* str){
	int i;
	int l = strlen(str); //??\?????????????????????
	char s1[SIZE]; //???????????°
	char s2[SIZE]; //???????????°
	//i+1??????????????????????????????????????§??°?????????
	for(i = 0; str[i+1] != '\0'; i++){
		//??????????±?????????????????????£?????´????????????????????????
		if(str[i]=='('&&str[i+1]==')') 			break;
		else if(str[i]=='{'&&str[i+1]=='}')		break;
		else if(str[i]=='['&&str[i+1]==']')		break;
		else continue;
	}
	if(str[i+1]=='\0') return -1; //??£??????????????¢?????£?????´???
	strncpy(s1, str, i); //??????????±????????????????????????´???????????????s1?????????
	s1[i] = '\0';
	strncpy(s2, (str+i)+2, l-(i+2)); //????????´???????????????s2?????????
	s2[l-(i+2)] = '\0';
	strcat(s1, s2); //s1+s2
	strcpy(str, s1);
	return 1; //??£?????????
}

void solve(){
    //?????????????????????0??????????????§??°?????????
	while(strlen(bracs)!=0){
		if(rmbrac(bracs)==-1){
			//rmbrac???????????????-1?????¨???????????£?????\?????§???????????¨??????????????§?????????????????????????????§????????????
			printf("no\n");
			return;
		}
	}
	//???????????°???????????¨???????????¨???strlen(buf)==0????????¨?????£?????¨???????????¨
	printf("yes\n");
}

int main(){
    int i,l;
    char tmp;
    char buf[SIZE]; //??\????????????
    for(;;){
        flush(buf);
        for(i=0;;){
            if((tmp=getchar())=='\n') continue; //?????????????????????
            if(tmp=='.'){
                if(i==0) return 0; //??\?????????????????????????????¨????????????
                else break; //????????§???????????¨????????\????????????
            }
            buf[i++] = tmp;
        }
        buf[i+1] = '\0'; //????°??????????????????????
        init(); //?????????????????????
        l=strlen(buf); //????????????????¨????
        for(i=0;i<l;i++)//??????????????°???????????¬??§????????????????????\????????????
            if(buf[i] == '(' || buf[i] == ')' || buf[i] == '[' || buf[i] == ']') push(buf[i]);
        solve();
    }
    return 0;
}