#include<bits/stdc++.h>
using namespace std;
int arr[100050];
char op[100050];
int nxt[100050];
struct node
{
int num;
char op;
node()
{
num=0;
op=0;
}
node(int a,char b)
{
num=a;
op=b;
}
};
queue<node> q;
int n=1;
int main()
{
cin>>arr[1];
while(cin>>op[n]>>arr[n+1])
{
nxt[n]=n+1;
arr[n]%=10000;
n++;
}
nxt[n]=100049;
int i=1;
while(nxt[i]<=n)
{
if(op[i]=='*')
{
arr[i]=arr[i]*arr[nxt[i]]%10000;
op[i]=op[nxt[i]];
nxt[i]=nxt[nxt[i]];
}
else
{
while(op[i]=='+')
{
i++;
}
}
}
i=1;
while(nxt[i]<=n)
{
if(op[i]=='+')
{
arr[i]=(arr[i]+arr[nxt[i]])%10000;
op[i]=op[nxt[i]];
nxt[i]=nxt[nxt[i]];
}
else
{
while(op[i]=='*')
{
i++;
}
}
}
cout<<arr[1];
return 0;
}
提交记录