program c;
var count, i,j,a,b, a1,b1,sustava, dl_suctu:integer;
    cis:array [1..2,1..1001] of char;
const 
    mantisa='0123456789ABCDEFGHIJKLMNOPQRSTUVWXY'; {Z uz nie!!!}   
var 
    sucet :array [1..1002] of char;

function poz(Ch:char):byte;
var j:byte;
begin
  for j:= 1 to 35 do
    if ch=mantisa[j] then begin
      poz:= j-1;
      break;
    end;
end;


procedure pocitaj;

var 
  suc,ca,i, max: integer;
begin
  dl_suctu:=0;
  ca:=0;
  if (a >= b) then max:=a  else max:=b;
  for i:= 1 to max do 
  begin
    if i<=a then a1:=poz(cis[1,a-i+1]) else a1:=0;
    if i<=b then b1:=poz(cis[2,b-i+1]) else b1:=0;
    
    suc:=a1+b1+ca; 
    if suc>(sustava-1) then 
      begin
        suc:=suc-sustava;
        ca:=1;
      end
     else ca:=0;        

    sucet[i]:= mantisa[suc+1];  
    inc(dl_suctu); 
  end;  


{ if (sustava=1)and(a1<>0)and(b1<>0) then
    for i:= 1 to a+b do
      write('1')
  else begin
    if a1=0 then write(b1) else 
    if b1=0 then write(a1);
  end;  }
 
  
  
  if (ca=1) then begin
    sucet[i+1]:=mantisa[1+1]; 
    inc(dl_suctu); 
  end;  
    
end;
procedure vypis;
var i: integer;
begin
  for i:= 1 to a do
    write(cis[1,i]);
  write(' + ');
  for i:= 1 to b do
    write(cis[2,i]);  
  write(' = ');
end;

BEGIN {--------------------------}
 count:=0;
  repeat
   readln(sustava);
   if (sustava <> 0) and (count>0) then
     writeln;
   inc(count);
   if sustava>1 then
   begin
        a:=0;
        b:=0;
        repeat
          inc(a);
          read(cis[1,a]);
        until cis[1,a]=' ';
        dec(a);
        
        
        cis[2,b]:='0';
        repeat
          inc(b);
          read(cis[2,b]);
        until cis[2,b]<#33;
        dec(b);
        pocitaj;                         
        vypis;
  for i:= dl_suctu downto 1 do
    write(sucet[i]);    
 
   end else

   if sustava=1 then 
     begin 
        a:=0;
        b:=0;
        repeat
          inc(a);
          read(cis[1,a]);
        until cis[1,a]=' ';
        dec(a);

        cis[2,b]:='0';
        repeat
          inc(b);
          read(cis[2,b]);
        until cis[2,b]<#33;
        dec(b);
        vypis;
        
        for i:=1 to a+b do
        begin 
         if (cis[1,a]='0') and (cis[2,b]='0') then 
         begin
          write('0');
          break;
         end
           else
         if cis[1,a]='0' then 
          begin
           for j:=1 to b do
            write('1');
           break;
          end
          else 
           if cis[2,b]='0' then 
            begin
             for j:=1 to a do 
              write('1');
              break;               
            end
            else write('1');
          end;
               
       end;     
  until sustava=0;
END.