#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <map>
#include <fstream>
#include <sstream>
#include <math.h>
#include <queue>
#include <stack>

using namespace std;


int main(){
    int n;
    string s;
    while(cin>>n){
        for(int i=0; i<n; i++){
            cin>>s;
            int j=0;
            
            queue<string> qu;
            stack<string> st;
            
            
            while(j<s.length()){
                //cout<<s[j]<<endl;
                //数値の処理
                if(s[j]>='0'&&s[j]<='9'){
                    string s_temp;
                    
                    while(s[j]>='0'&&s[j]<='9'){
                        s_temp+=s[j];
                        j++;
                    }
                    
                    qu.push(s_temp);
                    
                }
                
                //括弧の処理
                else if(s[j]==')'){
                    while(1){
                        string s_temp;
                        s_temp = st.top();
                        st.pop();
                        if(s_temp=="("){
                            break;
                        }else{
                            qu.push(s_temp);
                        }
                    }
                    j++;
                }
                
                else if(s[j]=='('){
                    string s_temp;
                    s_temp+=s[j];
                    st.push(s_temp);
                    j++;
                }
                
                //演算子の処理
                else if(s[j]=='-'||s[j]=='+'||s[j]=='*'||s[j]=='/'){
                    string s_temp;
                    s_temp+=s[j];
                    if(st.empty()){
                        st.push(s_temp);
                        j++;
                    }else{
                        if(!(s_temp=="*"||s_temp=="/")&&(st.top()=="-"||(st.top()=="+"))){
                            s_temp = st.top();
                            st.pop();
                            qu.push(s_temp);
                        }else{
                            st.push(s_temp);
                            j++;
                        }
                    }
                }
                //=の処理
                else if(s[j]=='='){
                    j++;
                }
                
                
            }
            while(!st.empty()){
                qu.push((st.top()));
                st.pop();
            }
            
            stack<int> num;
            while(!qu.empty()){
                
                //cout<<qu.front()<<endl;
                
                if(qu.front()=="*"){
                    int a,b;
                    a=num.top();
                    num.pop();
                    b=num.top();
                    num.pop();
                    a=a*b;
                    num.push(a);
                }else if(qu.front()=="/"){
                    int a,b;
                    a=num.top();
                    num.pop();
                    b=num.top();
                    num.pop();
                    a=a/b;
                    num.push(a);
                    
                }else if(qu.front()=="-"){
                    int a,b;
                    a=num.top();
                    num.pop();
                    b=num.top();
                    num.pop();
                    a=b-a;
                    num.push(a);
                }else if(qu.front()=="+"){
                    int a,b;
                    a=num.top();
                    num.pop();
                    b=num.top();
                    num.pop();
                    a=a+b;
                    num.push(a);
                }else{
                    stringstream stream;
                    stream<<qu.front();
                    int temp;
                    stream>>temp;
                    num.push(temp);
                }
                qu.pop();
            }
            cout<<num.top()<<endl;
        }
        
    }
}