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

char str[200];

int is_balanced(int start,int end) {
	int i,j;
	int kakko_nest;
	for(i=start;i<end;i++) {
		if(str[i]==')' || str[i]==']')return 0;
		if(str[i]=='(') {
			kakko_nest=1;
			for(j=i+1;j<end;j++) {
				if(str[j]=='(')kakko_nest++;
				else if(str[j]==')')kakko_nest--;
				if(kakko_nest<=0)break;
			}
			if(j>=end)return 0;
			if(!is_balanced(i+1,j))return 0;
			i=j;
		} else if(str[i]=='[') {
			kakko_nest=1;
			for(j=i+1;j<end;j++) {
				if(str[j]=='[')kakko_nest++;
				else if(str[j]==']')kakko_nest--;
				if(kakko_nest<=0)break;
			}
			if(j>=end)return 0;
			if(!is_balanced(i+1,j))return 0;
			i=j;
		}
	}
	return 1;
}

int main(void) {
	char* cptr;
	while(1) {
		fgets(str,sizeof(str),stdin);
		cptr=strchr(str,'\n');
		if(cptr)*cptr=0;
		if(strcmp(str,".")==0)break;
		puts(is_balanced(0,strlen(str))?"yes":"no");
	}
	return 0;
}