#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
char sta1[N];
int sta2[N];
int t1,t2;
string s;
bool isdigit(char a){
if(a >= '0' && a <= '9') return true;
return false;
}
void eval(){
int b=sta2[t2]; t2--;
int a=sta2[t2]; t2--;
char op=sta1[t1]; t1--;
t2++;
if(op == '+')sta2[t2] = a + b;
else if(op == '-')sta2[t2] = a - b;
else if(op == '*')sta2[t2] = a*b;
else if(op == '/')sta2[t2] = a/b;
}
int main(){
cin >> s;
int n = s.size();
map<char,int>mp { { '+' , 1 } , { '-' , 1 } , { '*' , 2 } , { '/' , 2 } } ;
for(int i = 0;i < n;i++){
if(isdigit(s[i])){
int t = 0;
int j = i;
while(isdigit(s[j])){
t = t*10+(s[j]-'0');
j++;
}
i = j-1;
sta2[++t2] = t;
}
else {
if(s[i] == '(')sta1[++t1] = s[i];
else if(s[i] == ')'){
while(t1 && sta1[t1] != '(') eval();
t1--;
}
else{
while(t1 && sta1[t1] != '(' && mp[sta1[t1]] >= mp[s[i]]) eval();
sta1[++t1]=s[i];
}
}
}
while(t1) eval();
cout << sta2[t2] << endl;
return 0;
}