#include <iostream> 
#include <cassert>
#include <cctype>
using namespace std;

string S;
size_t cur;

int digit() {
  assert(isdigit(S[cur])); // S[cur]が数字でなければストップ。正しく動作すれば実行されない。
  int n = S[cur] - '0';
  cur++;
  return n;
}

int number() {
  int n = digit();
  while (cur < S.size() && isdigit(S[cur])) {
    n = n * 10 + digit();
  }
  return n;
}

int factor();
int term() {
  int a = factor();
  while (cur < S.size() && (S[cur] == '*' || S[cur] == '/')) {
    char op = S[cur++];
    int b = factor();
    if (op == '*') {
      a *= b;
    } else {
      a /= b;
    }
  }
  return a;
}

int expression();
int factor() {
  if (S[cur] != '(') return number();
  assert(S[cur] == '(');
  cur++;
  int n = expression();
  assert(S[cur] == ')');
  cur++;
  return n;
}

int expression() {
  int a = term();
  while (cur < S.size() && (S[cur] == '+' || S[cur] == '-')) {
    char op = S[cur++];
    int b = term();
    if (op == '+') {
      a += b;
    } else {
      a -= b;
    }
  }
  return a;
}

int parse() { return expression(); }

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;
  }
}