const p='+-*/^()#';
c:array[1..8,1..8]of integer=
((1, 1, 0, 0, 0, 0, 1, 1),
(1, 1, 0, 0, 0, 0, 1, 1),
(1, 1, 1, 1, 0, 0, 1, 1),
(1, 1, 1, 1, 0, 0, 1, 1),
(1, 1, 1, 1, 1, 0, 1, 1),
(0, 0, 0, 0, 0, 0, 2, 1),
(3, 3, 3, 3, 3, 3, 3, 3),
(0, 0, 0, 0, 0, 0, 0, 1)
);
var i,j,k:integer;
a,jg:real;
s:string;
function jisuan(shu1,shu2:real; k:integer):real;
var jg:real;
begin
case k of
1: jg:=shu1+shu2;
2: jg:=shu1-shu2;
3: jg:=shu1*shu2;
4: jg:=shu1/shu2;
5: jg:=exp(shu2*ln(shu1));
end;
jisuan:=jg;
end;
function guifan(st:string; a:real):string;
var sn,ste:string;
i,j,max:integer;
begin
str(a:10:4,ste);
sn:=st;
i:=0;
max:=length(sn);
while i<max do
begin
i:=i+1;
if sn[i]=' ' then
begin
for j:=i+1 to max do
begin
sn[j-1]:=sn[j];
end;
max:=max-1;
i:=i-1;
continue;
end;
if sn[i]='a' then
begin
delete(sn,i,1);
insert(ste,sn,i);
max:=max+length(ste)-1;
end;
end;
guifan:=copy(sn,1,max);
end;
//計算表達式子程序
function jisuanbiaodashi(st:string; a:real):real; // str: 要計算的表達式
var i,j,k,ls,lf,t:integer;
x:real;
b,bb:boolean;
shu:array[1..100]of real;
fu :array[1..100]of integer;
s :string;
begin
fillchar(shu,sizeof(shu),0);
fillchar(fu,sizeof(fu),0);
s:=st+'#';
ls:=0; lf:=1; fu[1]:=8; i:=0;
repeat
begin
shu[ls+1]:=0;
b:=false;
bb:=false;
i:=i+1;
while ((s[i]>='0')and(s[i]<='9')) do
begin
b:=true;
if (s[i]<>'.')and(bb=false) then
begin
val(s[i],x);
shu[ls+1]:=10*shu[ls+1]+x;
i:=i+1;
continue;
end;
if s[i]='.' then begin bb:=true; i:=i+1; t:=i-1; continue; end;
if bb=true then
begin
val(s[i],x);
shu[ls+1]:=shu[ls+1]+ x*1/exp((i-t)*ln(10));
i:=i+1;
continue;
end;
end;
if b=true then begin ls:=ls+1; i:=i-1; continue; end;
k:=pos(s[i],p);
if (k=0)or(k>8) then begin writeln('error'); exit; end;
while (c[fu[lf],k]=1) do begin
shu[ls-1]:=jisuan(shu[ls-1],shu[ls],fu[lf]);
ls:=ls-1;
lf:=lf-1;
if lf=0 then break;
end;
if lf<>0 then
case c[fu[lf],k] of
0: begin lf:=lf+1; fu[lf]:=k; end;
2: lf:=lf-1;
3: begin writeln('error'); exit; end;
end;
end;
until s[i]='#';
jisuanbiaodashi:=shu[1];
end;
begin
readln(s);
jg:=jisuanbiaodashi(guifan(guifan(s,a),a),a);
writeln(jg:10:2);
readln;
end.