program laba7;
uses math;
type dopkod = record
psign:integer;
poryadok:string;
msign:integer;
mantisa:string;
end;
var A,B,C:longint;
A2,B2,C2:dopkod;
procedure convert(X:longint;var X2:dopkod);
var i,i3,temp:longint;
k,i2:real;
begin
if X <> 0 then
begin
if X>1 then X2.psign:=0
else X2.psign:=1;
if X>0 then X2.msign:=0
else X2.msign:=1;
if X<0 then X:=abs(X);
k:=Log2(X)+1;
i:=0;
X2.mantisa:='';
X2.poryadok:='';
while i <= k do
begin
i:=i+1;
temp:=X mod 2;
X:=X div 2;
if temp=1 then X2.mantisa:='1'+X2.mantisa
else X2.mantisa:='0'+X2.mantisa;
end;
X2.mantisa:=copy(X2.mantisa,2,i);
i2:=Log2(length(X2.mantisa)-1);
i3:=length(X2.mantisa)-1;
while i2>=0 do
begin
i2:=i2-1;
temp:=i3 mod 2;
i3:=i3 div 2;
if temp=1 then X2.poryadok:='1'+X2.poryadok
else X2.poryadok:='0'+X2.poryadok;
end;
end
else begin
X2.mantisa:='0';
X2.poryadok:='0';
end;
end;
begin
writeln('input A');
read(A);
writeln('input B');
read(B);
convert(A,A2);
convert(B,B2);
writeln('I step ');
writeln('A ',A2.psign,' ',A2.poryadok,' ',A2.msign,' ',A2.mantisa);
writeln('B ',B2.psign,' ',B2.poryadok,' ',B2.msign,' ',B2.mantisa);
writeln;
writeln('II step ');
writeln('A ',A2.psign,' ',A2.poryadok,' ',A2.msign,' ',A2.mantisa);
writeln('B ',B2.psign,' ',B2.poryadok,' ',B2.msign,' ',B2.mantisa);
C:=A+B;
convert(C,C2);
writeln;
writeln('III step ');
writeln('A ',A2.psign,' ',A2.poryadok,' ',A2.msign,' ',A2.mantisa);
writeln('B ',B2.psign,' ',B2.poryadok,' ',B2.msign,' ',B2.mantisa);
writeln('C ',C2.psign,' ',C2.poryadok,' ',C2.msign,' ',C2.mantisa,' C ',C);
end.