#include <cstdio>
#include <vector>
#include <cstring>
#include <iostream>
using namespace std;
int verif(char s[100000],int l,int l1)
{
int k=0,k1=0;
for (int i=l;i<l1; ++i)
if (s[i]=='(')
k++;
else if (s[i]==')')
k1++;
if (k1==k && s[l1-1]==')')
return 1;
return 0;
}
int operatie(char s[100000],int l,int l1,char c1,char c2)
{
int ok=1;
for (int i=l1-1;i>=l; --i)
if (s[i]==')')
ok=0;
else if (s[i]=='(')
ok=1;
else if (s[i]==c1 && ok==1 || s[i]==c2 && ok==1)
return i;
return -1;
}
int rezolv(char s[100000],int l,int l1)
{
while (verif(s,l,l1))
{
l++;
l1--;
}
int v=operatie(s,l,l1,'+','-');
if (v>=0)
{
if (s[v]=='+')
return rezolv(s,v+1,l1)+rezolv(s,l,v);
else if (s[v]=='-')
return rezolv(s,l,v)-rezolv(s,v+1,l1);
}
else
{
int v=operatie(s,l,l1,'/','*');
if (v>=0)
{
if (s[v]=='*')
return rezolv(s,v+1,l1)*rezolv(s,l,v);
else if (s[v]=='/')
return rezolv(s,l,v)/rezolv(s,v+1,l1);
}
else
{
int n=0;
for (int c=l;c<l1;c++)
n=n*10+s[c]-'0';
return n;
}
}
}
int main()
{
char s[100000];
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",&s);
int l=strlen(s);
printf("%d",rezolv(s,0,l));
return 0;
}