var n,i,j,m:longint; s,k,t:int64;
s1:ansistring; p:boolean;
begin
s:=0; t:=1;k:=0;
p:=false;
readln(s1);s1:=s1+'+';
m:=length(s1);n:=0;
while n<m do
begin
n:=n+1;
while (s1[n]>='0') and (s1[n]<='9') do begin k:=k*10+ord(s1[n])-48;n:=n+1;end;
if (p) and (s1[n]='+') then begin t:=(t*k) mod 10000;p:=false;s:=(s+t) mod 10000;t:=1;k:=0;end;
if s1[n]='+' then begin s:=(s+k) mod 10000;t:=1;k:=0;end;
if s1[n]='*' then begin t:=(t*k) mod 10000;p:=true;k:=0;end;
end;
s:=s mod 10000;
write(s);
end.
/**************************************************************
Problem: 2321
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/