#include<stdio.h>
char buf[256];
int idx;
int stack[100];
int sp;
#define push(type,x) (stack[sp++]=(type<<8)|x)
#define pop() (stack[--sp]&0xff)
#define toptype() (stack[sp-1]>>8)
int gettoken(char a[]){
while(buf[idx]==' ')idx++;
if(buf[idx]=='\0') return 0;
int i;
for(i=0;;){
switch(buf[idx]){
case'\0':
case' ':
a[i]='\0';
return 4;
case'+': case'-':
if(i==0){
a[i++]=buf[idx++];
a[i]='\0';
return 2;
}
a[i]='\0';
return 4;
case'*': case'/': case'%':
if(i==0){
a[i++]=buf[idx++];
a[i]='\0';
return 1;
}
a[i]='\0';
return 4;
case'(': case')':
if(i==0){
a[i++]=buf[idx++];
a[i]='\0';
return 3;
}
a[i]='\0';
return 4;
default:
a[i++]=buf[idx++];
}
}
}
void popto(int type){
int i;
while(toptype()!=type){
}
pop();
}
int main(){
int a,b;
for(b=0;b<=a;b++){
idx=0;
int i,type;
char a[64];
sp=0;
push(3,'(');
for(i=1;(type=gettoken(a));i++){
switch(type){
case 1:
case 2:
while(toptype()<=type)
push(type, a[0]);
break;
case 3:
if(a[0]=='(')
push(type,a[0]);
else popto(type);
break;
case 4:
break;
}
}
popto(3);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KY2hhciBidWZbMjU2XTsKaW50IGlkeDsKaW50IHN0YWNrWzEwMF07CmludCBzcDsKI2RlZmluZSBwdXNoKHR5cGUseCkgKHN0YWNrW3NwKytdPSh0eXBlPDw4KXx4KQojZGVmaW5lIHBvcCgpIChzdGFja1stLXNwXSYweGZmKQojZGVmaW5lIHRvcHR5cGUoKSAoc3RhY2tbc3AtMV0+PjgpCgppbnQgZ2V0dG9rZW4oY2hhciBhW10pewogICAgd2hpbGUoYnVmW2lkeF09PScgJylpZHgrKzsKICAgIGlmKGJ1ZltpZHhdPT0nXDAnKSByZXR1cm4gMDsKICAgIGludCBpOwogICAgZm9yKGk9MDs7KXsKICAgICAgICBzd2l0Y2goYnVmW2lkeF0pewogICAgICAgIGNhc2UnXDAnOgogICAgICAgIGNhc2UnICc6CiAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgcmV0dXJuIDQ7CiAgICAgICAgY2FzZScrJzogY2FzZSctJzoKICAgICAgICAgICAgaWYoaT09MCl7CiAgICAgICAgICAgICAgICBhW2krK109YnVmW2lkeCsrXTsKICAgICAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgcmV0dXJuIDQ7CiAgICAgICAgY2FzZScqJzogY2FzZScvJzogY2FzZSclJzoKICAgICAgICAgICAgaWYoaT09MCl7CiAgICAgICAgICAgICAgICBhW2krK109YnVmW2lkeCsrXTsKICAgICAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgcmV0dXJuIDQ7CiAgICAgICAgY2FzZScoJzogY2FzZScpJzoKICAgICAgICAgICAgaWYoaT09MCl7CiAgICAgICAgICAgICAgICBhW2krK109YnVmW2lkeCsrXTsKICAgICAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFbaV09J1wwJzsKICAgICAgICAgICAgcmV0dXJuIDQ7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgYVtpKytdPWJ1ZltpZHgrK107CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgp2b2lkIHBvcHRvKGludCB0eXBlKXsKICAgIGludCBpOwogICAgd2hpbGUodG9wdHlwZSgpIT10eXBlKXsKICAgICAgICBwcmludGYoIiVjICIscG9wKCkpOwogICAgfQogICAgcG9wKCk7Cn0KaW50IG1haW4oKXsKICAgIGludCBhLGI7CiAgICBzY2FuZigiJWQiLCZhKTsKICAgIGZvcihiPTA7Yjw9YTtiKyspewogICAgZ2V0cyhidWYpOwogICAgaWR4PTA7CiAgICBpbnQgaSx0eXBlOwogICAgY2hhciBhWzY0XTsKICAgIHNwPTA7CiAgICBwdXNoKDMsJygnKTsKICAgIGZvcihpPTE7KHR5cGU9Z2V0dG9rZW4oYSkpO2krKyl7CiAgICAgICAgc3dpdGNoKHR5cGUpewogICAgY2FzZSAxOgogICAgY2FzZSAyOgogICAgICAgIHdoaWxlKHRvcHR5cGUoKTw9dHlwZSkKICAgICAgICAgICAgcHJpbnRmKCIlYyAiLHBvcCgpKTsKICAgICAgICBwdXNoKHR5cGUsIGFbMF0pOwogICAgICAgIGJyZWFrOwogICAgY2FzZSAzOgogICAgICAgIGlmKGFbMF09PScoJykKICAgICAgICAgICAgcHVzaCh0eXBlLGFbMF0pOwogICAgICAgIGVsc2UgcG9wdG8odHlwZSk7CiAgICAgICAgYnJlYWs7CiAgICBjYXNlIDQ6CgogICAgICAgIHByaW50ZigiJXMiLGEpOwppZihhWzBdIT0nXDAnKXtwcmludGYoIiAiKTt9CiAgICAgICAgICBicmVhazsKCgogICAgICAgIH0KICAgIH0KICAgIHBvcHRvKDMpOwogICAgaWYoYj49MSlwcmludGYoIlxuIik7fQoKICAgIHJldHVybiAwOwoKfQ==