#include <iostream>
#include <cassert>
#include <string>
#include <cctype>
using namespace std;
 
string S;
size_t cur = 0;
char readchar();
char peek();
int digit();
int number();
int term();
int expression();
int factor();
 
int main() {
    int N;
    cin >> N;
    for(int i = 0; i < N; ++i){
        cur = 0;
        cin >> S;
        S.resize(S.size()-1);
        cout << expression() << endl;
    }
    return 0;
}
 
char readchar(){
    assert(cur < S.size());
    char ret = S[cur];
    cur += 1;
    return ret;
}
 
char peek(){
    assert(cur < S.size());
    return S[cur];
}
 
int digit(){
    assert(isdigit(peek()));
    int n = readchar() - '0';
    return n;
}
 
int number(){
    int n = digit();
    while(cur < S.size() && isdigit(peek()))
        n = n*10 +digit();
    return n;
}
 
int term()
{
    int a = factor();
    while(cur < S.size() && (peek() == '*' || peek() == '/')){
        char op = readchar();
        int b = factor();
        if (op == '*') a *= b; else a /= b;
    }
    return a;
}
 
int expression(){
    int a = term();
    while(cur < S.size() && (peek() == '+' || peek() =='-'))
    {
        char op =readchar();
        int b = term();
        if(op == '+')
        {
            a += b;
        }
        else a -= b;
    }
    return a;
}
int factor() {
    if (peek() != '(') return number();
    cur += 1;
    int n = expression();
    assert(peek() == ')');
    cur += 1;
    return n;
}
int parse() {return expression();}
