#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>

using namespace std;

#define rep(i, n) for(int i = 0; i < (int)(n); i++)
int expr(const string &s, int &pos);
int term(const string &s, int &pos);
int factor(const string &s, int &pos);
int number(const string &s, int &pos);

int expr(const string &s, int &pos) {
  auto res = term(s, pos);
  while ((pos < s.size()) and (s[pos] == '+' or s[pos] == '-')) {
    auto op = s[pos++];
    if (op == '+') {
      res += term(s, pos);
    } else {
      res -= term(s, pos);
    }
  }
  return res;
}

int term(const string &s, int &pos) {
  auto res = factor(s, pos);
  while ((pos < s.size()) and (s[pos] == '*' or s[pos] == '/')) {
    auto op = s[pos++];
    if (op == '*') {
      res *= factor(s, pos);
    } else {
      res /= factor(s, pos);
    }
  }
  return res;
}

bool is_digit(char ch) {
  return '0' <= ch and ch <= '9';
}

int factor(const string &s, int &pos) {
  if (is_digit(s[pos])) {
    return number(s, pos);
  }
  assert(s[pos++] == '(');
  auto res = expr(s, pos);
  assert(s[pos++] == ')');
  return res;
}

int number(const string &s, int &pos) {
  int ret = 0;
  while (pos < s.size() and is_digit(s[pos])) {
    ret = ret * 10 + (s[pos++] - '0');
  }
  return ret;
}

int main() {

  int n;
  cin >> n;
  cin.ignore();
  
  while (n--) {
    string s;
    getline(cin, s);
    s.pop_back();
    // <expr> ::= <term> [('+'|'-') <term>]*
    // <term> ::= <factor> [('*'|'/') <factor>]*
    // <factor> ::= <number> | '(' <expr> ')'
    // <number> ::= 123 とか
    int pos = 0;
    auto res = expr(s, pos);
    cout << res << endl;
  }

  return 0;
}

