#include<iostream>
#include<string>
#include<cctype>
#include<cassert>
#include<cmath>

using namespace std;
typedef pair<const char *, int > parsed;

parsed expr(const char *);
parsed term(const char *);
parsed fact(const char *);

parsed expr(const char *p){
	parsed r = term(p);
	while( *(r.first)=='+' || *(r.first)=='-' ){
		const char *op = r.first;
		parsed l = term(op+1);

		if( *op=='+' ){
			r.first = l.first;
			r.second = r.second + l.second;
		}else{
			r.first = l.first;
			r.second = r.second - l.second;
		}
	}
	return r;
}
parsed term(const char *p){
	parsed r = fact(p);
	while( *(r.first)=='*' || *(r.first)=='/' ){
		const char *op = r.first;
		parsed l = fact(op+1);

		if( *op=='*' ){
			r.first = l.first;
			r.second = r.second * l.second;
		}else{
			r.first = l.first;
			r.second = (int)floor(r.second / (double)l.second);
		}
	}
	return r;
}
parsed fact(const char *p){
	if( *p=='(' ){
		// new expression
		parsed tp = expr(p+1);
		return parsed(tp.first+1, tp.second);
	}
	if( *p=='-' ){
		// negative fact
		parsed tp = fact(p+1);
		tp.second *= -1;
		return tp;
	}
	if( isdigit(*p) ){
		// number
		int num = *p - '0';
		while( isdigit(*(++p)) ){
			num *= 10;
			num += *p - '0';
		}
		return parsed(p,num);
	}else assert(0); return parsed(NULL,0);
}
int main(void){
	int n;

	cin>>n;
	for(int i = 0; i < n; i++){
		string s;
		cin >> s;
		cout << expr(s.c_str()).second << '\n';
	}
	return 0;
}