var z:integer; s3:string[5000]; s:array[1..2] of string[5000]; p:integer; ml,i,j,k:integer; function conv(a:char):integer; var tmp:integer; begin tmp:=ord(a)-48; if tmp<10 then conv:=tmp else conv:=tmp-65+48+10; end; function mkd(x:integer):char; begin if x<10 then mkd:=chr(x+48) else mkd:=chr(x+65-10); end; function getn(x,y:integer):integer; var n:integer; begin n:=length(s[x])-y+1; if n<1 then getn:=0 else getn:=conv(s[x,n]); end; begin readln(z); while z<>0 do begin readln(s[1]); s[2]:=copy(s[1],pos(' ',s[1])+1,255); s[1]:=copy(s[1],1,pos(' ',s[1])-1); s3:=''; if z=1 then begin if s[1]='0' then s[1]:=''; if s[2]='0' then s[2]:=''; s3:=s[1]+s[2]; if s[1]='' then s[1]:='0'; if s[2]='' then s[2]:='0'; if s3='' then s3:='0'; end else begin p:=0; ml:=length(s[1]); if ml0 then s3:=s3+mkd(p); end; write(s[1],' + ',s[2],' = '); for i:=length(s3) downto 1 do write(s3[i]); writeln; readln(z); end; end.