program c; var count, i,a,b,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,a1,b1,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 (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 write('1'); end; until sustava=0; END.