#include<iostream>
#include<cstring>
using namespace std;
int compare(char str1,char str2){
switch(str1){
case '+': case '-':
if(str2=='('||str2=='#') return 1;
else return -1;
break;
case '*': case '/':
if(str2=='*'||str2=='/') return -1;
else return 1;
break;
case '(':
return 1;
break;
case ')':
if(str2=='(') return 0;
else return -1;
break;
case'#':
if(str2=='#') return 0;
else return -1;
break;
default:
break;
}
}
long long compute(string str){
long long a=0,b=0;
long long num[100000];
char sign[100000];
sign[0]='#';
long long top1=-1,top2=0;
for( long long i=0;str[i]!='\0';){
if(str[i]>='0'&&str[i]<='9'){
a=b*10+(str[i++]-'0');
b=a;
}
else{
if(a>0){
num[++top1]=a;
a=0,b=0;
}
int k=compare(str[i],sign[top2]);
if(k==1) sign[++top2]=str[i++];
else if(k==-1){
long long y=num[top1--];
long long x=num[top1--];
char op=sign[top2--];
long long z=0;
switch(op){
case '+' : z=(x+y)%10000; break;
case '-': z=(x-y)%10000; break;
case '*': z=(x*y)%10000; break;
case '/': z=(x/y)%10000; break;
default: break;
}
num[++top1]=z;
}
else{
top2--;
i++;
}
}
}
return num[top1];
}
int main(){
string str;
cin>>str;
str=str+'#';
long long result=0;
result=compute(str)%10000;
cout<<result;
return 0;
}