#include<iostream>
#include<stack>
using namespace std;
long long int getValueAfter(char str[],long long int index,long long int &i){
long long int val = 0;
while(str[index] && str[index]>='0' && str[index]<='9'){
val = val*10 + str[index] - '0';
index++;
}
i = index - 1;
return (val?val:1);
}
long long int prevValue(stack<long long int> &s){
long long int val = 0;
while(!s.empty()){
val += s.top();
s.pop();
}
return val;
}
int main(){
long long int test_case,c;
cin>>test_case;
cin>>ws;
while(test_case--){
c=0;
char str[1000001];
cin>>str;
long long int i,topValue,vAfter,parenthesis=0;
stack<long long int> s;
long long int res = 0;
bool flag = 1; // 1 means current parenthesis so add with top value
s.push(0);
stack<char>CheakP;
int cflag=1;
for(i=0;str[i]!='\0';i++){
if(str[i]=='('){
s.push(0);
}
else if(str[i]==')'){
vAfter = getValueAfter(str,i+1,i); // update i also
topValue = s.top();
s.pop();
long long int temp = 0;
if(!s.empty()){
temp = s.top();
s.pop();
}
s.push(temp + topValue*vAfter);
}
else if(str[i]=='C'){
vAfter = getValueAfter(str,i+1,i); // update i also
topValue = s.top();
s.pop();
s.push(topValue + vAfter);
}
if(str[i]=='(')
CheakP.push(str[i]);
if(str[i]==')'){
if(CheakP.empty())
cflag=0;
else if(CheakP.top()!='(')
cflag=0;
else
CheakP.pop();
}
if(!cflag)
break;
}
res = prevValue(s);
if(!cflag||CheakP.empty())
cout<<"INVALID"<<endl;
else
cout<<res<<endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0YWNrPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpsb25nIGxvbmcgaW50IGdldFZhbHVlQWZ0ZXIoY2hhciBzdHJbXSxsb25nIGxvbmcgaW50IGluZGV4LGxvbmcgbG9uZyBpbnQgJmkpewoJbG9uZyBsb25nIGludCB2YWwgPSAwOwoJd2hpbGUoc3RyW2luZGV4XSAmJiBzdHJbaW5kZXhdPj0nMCcgJiYgc3RyW2luZGV4XTw9JzknKXsKCQl2YWwgPSB2YWwqMTAgKyBzdHJbaW5kZXhdIC0gJzAnOwoJCWluZGV4Kys7Cgl9CglpID0gaW5kZXggLSAxOwoJcmV0dXJuICh2YWw/dmFsOjEpOwp9CmxvbmcgbG9uZyBpbnQgcHJldlZhbHVlKHN0YWNrPGxvbmcgbG9uZyBpbnQ+ICZzKXsKCWxvbmcgbG9uZyBpbnQgdmFsID0gMDsKCXdoaWxlKCFzLmVtcHR5KCkpewoJCXZhbCArPSBzLnRvcCgpOwoJCXMucG9wKCk7Cgl9CglyZXR1cm4gdmFsOwp9CiBpbnQgbWFpbigpewoJbG9uZyBsb25nIGludCB0ZXN0X2Nhc2UsYzsKCWNpbj4+dGVzdF9jYXNlOwoJY2luPj53czsKCXdoaWxlKHRlc3RfY2FzZS0tKXsKCQljPTA7CgkJY2hhciBzdHJbMTAwMDAwMV07CgkJY2luPj5zdHI7CgkJbG9uZyBsb25nIGludCBpLHRvcFZhbHVlLHZBZnRlcixwYXJlbnRoZXNpcz0wOwoJCXN0YWNrPGxvbmcgbG9uZyBpbnQ+IHM7CgkJbG9uZyBsb25nIGludCByZXMgPSAwOwoJCWJvb2wgZmxhZyA9IDE7IC8vIDEgbWVhbnMgY3VycmVudCBwYXJlbnRoZXNpcyBzbyBhZGQgd2l0aCB0b3AgdmFsdWUKCQlzLnB1c2goMCk7CgkJc3RhY2s8Y2hhcj5DaGVha1A7CgkJaW50IGNmbGFnPTE7CgkJZm9yKGk9MDtzdHJbaV0hPSdcMCc7aSsrKXsKCQkJaWYoc3RyW2ldPT0nKCcpewoJCQkJcy5wdXNoKDApOwoJCQkKCQkJfQoJCQllbHNlIGlmKHN0cltpXT09JyknKXsKCQkJCXZBZnRlciA9IGdldFZhbHVlQWZ0ZXIoc3RyLGkrMSxpKTsgLy8gdXBkYXRlIGkgYWxzbwoJCQkJdG9wVmFsdWUgPSBzLnRvcCgpOwoJCQkJcy5wb3AoKTsKCQkJCWxvbmcgbG9uZyBpbnQgdGVtcCA9IDA7CgkJCQlpZighcy5lbXB0eSgpKXsKCQkJCQl0ZW1wID0gcy50b3AoKTsKCQkJCQlzLnBvcCgpOwoJCQkJCgkJCQl9CgkJCQkKCQkJCXMucHVzaCh0ZW1wICsgdG9wVmFsdWUqdkFmdGVyKTsKCQkJfQoJCQllbHNlIGlmKHN0cltpXT09J0MnKXsKCQkJCXZBZnRlciA9IGdldFZhbHVlQWZ0ZXIoc3RyLGkrMSxpKTsgLy8gdXBkYXRlIGkgYWxzbwoJCQkJdG9wVmFsdWUgPSBzLnRvcCgpOwoJCQkJcy5wb3AoKTsKCQkJCXMucHVzaCh0b3BWYWx1ZSArIHZBZnRlcik7CgkJCX0KCQkJaWYoc3RyW2ldPT0nKCcpCgkJCSBDaGVha1AucHVzaChzdHJbaV0pOwoJCQlpZihzdHJbaV09PScpJyl7CgkJCQlpZihDaGVha1AuZW1wdHkoKSkKCQkJCQljZmxhZz0wOwoJCQkJZWxzZSBpZihDaGVha1AudG9wKCkhPScoJykKCQkJCSAgICAgY2ZsYWc9MDsKCSAgICAgICAgICAgZWxzZQoJCQkJQ2hlYWtQLnBvcCgpOwoJCQl9CgkJCSBpZighY2ZsYWcpCgkJCSAgIGJyZWFrOwoJCX0KCQlyZXMgPSBwcmV2VmFsdWUocyk7CgkJIAoJCSAgICBpZighY2ZsYWd8fENoZWFrUC5lbXB0eSgpKQoJCSAgY291dDw8IklOVkFMSUQiPDxlbmRsOwoJCSAgZWxzZQoJCWNvdXQ8PHJlczw8ZW5kbDsKCX0KCXJldHVybiAwOwp9Cg==