http://acm.nyist.net/JudgeOnline/problem.php?pid=305
#include<bits/stdc++.h>
using namespace std;
char str[1005];
int start;
int val()
{
int n,v;
int m=strlen(str);
while(start!=m)
{
if(str[start]==')') start++;
else if(str[start]==',') start++;
else if(str[start]=='m'){start+=4;if(str[start-3]=='i')return min(val(),val());else return max(val(),val());}
else if(str[start]=='a'){start+=4;return (val()+val());}
else {sscanf(str+start,"%d%n",&v,&n);start+=n;return v; }
}
}
int main()
{
int T;
cin>>T;
while(T--)
{
scanf("%s",str);
start=0;
cout<<val()<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+7;
const int mod=1e9+7;
const int inf=0x3f3f3f3f;
typedef long long ll;
char str[1005];
int start;
int val()
{
int v,n;
switch(str[start])
{
case 'm':{start+=3;if(str[start-2]=='i')return min(val(),val());
else return max(val(),val());}
case 'a':{start+=3;return (val()+val());}
case ')':
case '(':
case ',':{++start;return val();}
default:{sscanf(str+start,"%d%n",&v,&n);start+=n;return v; }
}
}
int main()
{
int T;
cin>>T;
while(T--)
{
scanf("%s",str);
start=0;
cout<<val()<<endl;
}
return 0;
}