#include<iostream>
#include<queue>
#include<cctype> // isdigit
#include<cassert> // assert
#include<cstdlib> // atoi

using namespace std;

queue<string>exp;

int calculate();
int add();
int multiply();
int term();

int calculate()
{
  return add();
}

int add()
{
  int num=multiply();
  if(exp.empty())return num;
  string s=exp.front();
  if(s[0]=='+'||s[0]=='-'){
    exp.pop();
    int num2=calculate();
    if(s[0]=='+')return num+num2;
    if(s[0]=='-')return num-num2;
  }
  return num;
}

int multiply()
{
  int num=term();
  if(exp.empty())return num;
  string s=exp.front();
  if(s[0]=='*'||s[0]=='/'){
    exp.pop();
    int num2=calculate();
    if(s[0]=='*')return num*num2;
    if(s[0]=='/')return num/num2;
  }
  return num;
}

int term()
{
  string s=exp.front();
  // l
  if(isdigit(s[0])){
    exp.pop();
    return atoi(s.c_str());
  }
  // PZqÌ}CiX
  if(s[0]=='-'){
    exp.pop();
    return -calculate();
  }
  // Ê
  if(s[0]=='('){
    exp.pop();
    int num=calculate();
    assert(exp.front()==")");
    exp.pop();
    return num;
  }
}

int main()
{
  int n;
  string s;
  cin>>n;
  while(n-->0){
    cin>>s;
    while(exp.size())exp.pop();
    for(int i=0;i<s.size();i++){
      if(s[i]=='=')break;
      if(isdigit(s[i])){
	int j;
	for(j=i+1;j<s.size();j++)if(!isdigit(s[j]))break;
	exp.push(s.substr(i,j-i));
	i=j-1;
      }else{
	exp.push(s.substr(i,1));
      }
    }
    /*
    while(exp.size()){
      cout<<exp.front()<<endl;
      exp.pop();
    }
    */
    cout<<calculate()<<endl;
  }
}