program ex (input,output);
type tstr=string[300];
    var ver,n:integer;
	i:integer;
	l,s:tstr;

function zpracuj:tstr;
var A:integer;
    V:tstr;
    PLUS,MINUS,MUL,DIVx : boolean;
begin
    V:='';
    A:=i;
    PLUS:=false;MINUS:=false;MUL:=false;DIVx:=false;
    while i<Length(S)-1 do
    begin
{    writeln(S,i,V);	}
	inc(i);
	case S[i] of
	    ')'  :  begin
	            dec(A);
		    if ((S[A]='-') and (PLUS or MINUS)) OR
		       (((S[A]='*') or (S[i+1]='*')) and (PLUS or MINUS or DIVx)) OR
		       (((S[A]='/') or (S[i+1]='/')) and (PLUS or MINUS or DIVx or MUL))
		       then  zpracuj:='('+V+')'
		       else  zpracuj:=V;
		    exit;   		       
	          end;
	    '('  : V:=V+Zpracuj;
	    '+'  : begin PLUS:=true;V:=V+S[i]; end;
	    '-'  : begin MINUS:=true;V:=V+S[i];end;
	    '*'  : begin MUL:=true;V:=V+S[i];end;
	    '/'  : begin DIVx:=true;V:=V+S[i];end;
	    else V:=V+S[i];
	end;    
    end;
end;


begin
    readln(N);
    for ver:=1 to N do
    begin
	readln(l);
	s:='+('+l+')+';
	i:=2;
	writeLn(zpracuj);
    end;
end.
