#include <bits/stdc++.h>
using namespace std;
ifstream in("evaluare.in");
ofstream out("evaluare.out");
string expression;
int expIndex;
int terms();
int calculateInteger();
int calculateExpression() {
int answer = terms();
while(expression[expIndex] == '+' || expression[expIndex] == '-') {
if(expression[expIndex] == '+') {
++expIndex;
answer += terms();
} else {
++expIndex;
answer -= terms();
}
}
++expIndex;
return answer;
}
int terms() {
int makeProduct = calculateInteger();
while(expression[expIndex] == '*' || expression[expIndex] == '/') {
if(expression[expIndex] == '/') {
++expIndex;
makeProduct /= calculateInteger(); /// calculateInteger va returna coeficientul de impartire
} else {
++expIndex;
makeProduct *= calculateInteger(); /// coeficient de inmultire
}
}
/// daca n-am trecut prin acel while inseamna ca am avut o secvente de simple adunari si scaderi
return makeProduct;
}
int calculateInteger() {
int next_integer = 0;
if(expression[expIndex] == '(') {
++expIndex;
return calculateExpression();
}
while(expression[expIndex] >= '0' && expression[expIndex] <= '9' && expIndex < expression.length()) {
next_integer = next_integer * 10 + (expression[expIndex] - '0');
++expIndex;
}
return next_integer;
}
int main()
{
in >> expression;
out << calculateExpression();
return 0;
}