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
****************************************************************/