#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <ctime>

#define forr(a,b,c) for(int (a) = (b); (a) < (c); ++ (a))
#define fore(a,b,c) for(int (a) = (b); (a) <= (c); ++ (a))

#define pii pair<int,int>
#define int3 pair<pair<int,int>, int>
#define vi vector<int>
#define ull long long
#define vs vector<string>
#define pib pair<int,bool>

#define same(ob,a,b) (ob.first==a && ob.second==b)

//#define DEBUG

using namespace std;

vector<pib> red(vector<pib> v){
	vector<pib> n;
	
	forr(i,2,v.size()){
		if(same(v[i-2],'(',1) && same(v[i],')',1)){
			forr(j,0,v.size()){
				if(j!=i && j!=i-2){
					n.push_back(v[j]);
				}
			}
			return n;
		}
	}
	
	forr(i,1,v.size()){
		if(same(v[i-1],'-',1) && !v[i].second){
			if(i>=2 && !v[i-2].second) continue;
			
			v[i].first = -v[i].first;
			forr(j,0,v.size()){
				if(j!=i-1){
					n.push_back(v[j]);
				}
			}
			return n;
		}
	}
	
	forr(i,2,v.size()){
		if(!v[i-2].second && same(v[i-1],'^',1) && !v[i].second){
			int p10=10;
			while(p10 < abs(v[i-2].second)) p10*=10;
			v[i-2].first = p10*abs(v[i-2].first) + abs(v[i].first);
			
			forr(j,0,v.size()){
				if(j!=i && j!=i-1){
					n.push_back(v[j]);
				}
			}
			return n;
		}
	}
	
	forr(i,2,v.size()){
		if(!v[i-2].second && same(v[i-1],'*',1) && !v[i].second){
			v[i-2].first *= v[i].first;
			
			forr(j,0,v.size()){
				if(j!=i && j!=i-1){
					n.push_back(v[j]);
				}
			}
			return n;
		}
		
		if(!v[i-2].second && same(v[i-1],'/',1) && !v[i].second){
			v[i-2].first /= v[i].first;
			
			forr(j,0,v.size()){
				if(j!=i && j!=i-1){
					n.push_back(v[j]);
				}
			}
			return n;
		}
	}
	
	forr(i,2,v.size()){
		if(!v[i-2].second && same(v[i-1],'+',1) && !v[i].second){
			v[i-2].first += v[i].first;
			
			forr(j,0,v.size()){
				if(j!=i && j!=i-1){
					n.push_back(v[j]);
				}
			}
			return n;
		}
		
		if(!v[i-2].second && same(v[i-1],'-',1) && !v[i].second){
			v[i-2].first -= v[i].first;
			
			forr(j,0,v.size()){
				if(j!=i && j!=i-1){
					n.push_back(v[j]);
				}
			}
			return n;
		}
	}
	
	n.push_back(pib(-128,0));
	return n;
}

int main(){
	
	#ifndef DEBUG
		freopen("DATA4.txt", "r", stdin);
		freopen("OUT4.txt", "w", stdout);
	#endif
		
	forr(_r,0,5){
		string s;
		getline(cin,s);
		
		vector<pib> v;
		
		int num=0;
		bool dig=0;
		
		forr(i,0,s.size()){
			if('0'<=s[i] && s[i]<='9'){
				num = 10*num + s[i]-'0'; dig=1;
			}
			else if(s[i] == ' '){}
			else{
				if(dig) v.push_back(pib(num,0));
				v.push_back(pib(s[i],1));
				num=0; dig=0;
			}
		}
		if(dig){
			v.push_back(pib(num,0));
		}
		
		while(v.size()>1){
			v = red(v);
			
		/*	forr(i,0,v.size()){
				if(!v[i].second) cout << v[i].first;
				else cout << '#' << (char)v[i].first;
			} cout << '\n'; */
			
		}
		
		cout << v[0].first << '\n';
		

	}
	
	#ifdef DEBUG
		system("pause");
	#endif
	
	return 0;
}

