program pmax;
var f, g:text;
expr, strpr, s:widestring;
max, iii, i, nr, ii, pozinc, nr2, pr, rez:longint;
smn:char;
procedure citire;
var c:char;
begin
while not seekeof(f) do
begin
read(f,c);
s:=s+c;
end;
end;
procedure calculare;
var aux:char;
semnp, poz:longint;
neg:boolean;
begin
nr:=0;
ii:=1;
pozinc:=1;
while ii<=length(expr) do
begin
if (expr[ii]>='0') and (expr[ii]<='9') then
nr:=nr*10+ord(expr[ii])-ord('0')
else
if (expr[ii]='+') or (expr[ii]='-') then
begin
nr:=0;
pozinc:=ii+1;
end
else
begin
nr2:=0;
smn:=expr[ii];
ii:=ii+1;
if expr[ii]='-' then
begin
semnp:=-1;
ii:=ii+1;
end
else
semnp:=1;
while (expr[ii]>='0') and (expr[ii]<='9') and (ii<=length(expr)) do
begin
nr2:=nr2*10+ord(expr[ii])-ord('0');
ii:=ii+1;
end;
if smn='*' then
pr:=nr*nr2
else
pr:=nr div nr2;
strpr:='';
while pr>0 do
begin
strpr:=strpr+chr(ord(pr mod 10)+ord('0'));
pr:=pr div 10;
end;
for iii:=1 to (length(strpr)+1) div 2 do
begin
aux:=strpr[iii];
strpr[iii]:=strpr[length(strpr)-iii+1];
strpr[length(strpr)-iii+1]:=aux;
end;
delete(expr,pozinc,ii-pozinc);
insert(strpr,expr,pozinc);
{ ii:=ii-1;}
if semnp=-1 then
insert('-',expr,pozinc);
ii:=0;
nr:=0;
pozinc:=1;
end;
ii:=ii+1;
end;
ii:=1;
smn:='+';
nr:=0;
rez:=0;
insert('+',expr,length(expr)+1);
while pos('--',expr)<>0 do
begin
poz:=pos('--',expr);
delete(expr,poz,2);
insert('+',expr,poz);
end;
while ii<length(expr) do
begin
while (expr[ii]>='0') and (expr[ii]<='9') and (ii<=length(expr)) do
begin
nr:=nr*10+ord(expr[ii])-ord('0');
ii:=ii+1;
end;
if smn='+' then
rez:=rez+nr
else
rez:=rez-nr;
smn:=expr[ii];
ii:=ii+1;
nr:=0;
end;
if rez>max then
max:=rez;
pr:=rez;
strpr:='';
neg:=false;
if pr<0 then
begin
neg:=true;
pr:=abs(pr);
end;
while pr>0 do
begin
strpr:=strpr+chr(ord(pr mod 10)+ord('0'));
pr:=pr div 10;
end;
for iii:=1 to (length(strpr)+1) div 2 do
begin
aux:=strpr[iii];
strpr[iii]:=strpr[length(strpr)-iii+1];
strpr[length(strpr)-iii+1]:=aux;
end;
if neg then
strpr:='-'+strpr;
end;
procedure rezolvare;
var gp:boolean;
pozpd, pozpi, poz:longint;
ss:widestring;
begin
gp:=true;
insert('(',s,1);
insert(')',s,length(s)+1);
insert('(',s,1);
insert(')',s,length(s)+1);
while gp do
begin
gp:=false;
ss:=s;
poz:=pos('(',ss);
delete(ss,poz,1);
if pos('(',ss)=0 then
begin
writeln(g,copy(ss,1,length(ss)-1));
close(g);
halt;
end;
for i:=1 to length(s) do
begin
if s[i]='(' then
begin
pozpd:=i;
gp:=true;
end;
if s[i]=')' then
begin
pozpi:=i;
expr:=copy(s,pozpd+1,pozpi-(pozpd+1));
calculare;{DACA E NEGATIV}
delete(s,pozpd,pozpi-pozpd+1);
insert(strpr,s,pozpd);
break;
end;
end;
end;
end;
begin
assign(f,'expresie.in'); reset(f);
assign(g,'expresie.out'); rewrite(g);
max:=-maxlongint;
citire;
rezolvare;
close(f);
close(g);
end.