program BINARY; {$APPTYPE CONSOLE} uses math; var n,i,j,k,b :integer; m:real; A:array [0..6,0..6] of integer; vh,v:text; begin { TODO -oUser -cConsole Main : Insert code here } assign (vh,'BINARY.dat'); assign (v, 'BINARY.sol'); reset (vh); read(vh,n); close (vh); while n<>1 do begin inc(A[0,0]); A[0,A[0,0]]:=n mod 2; n:=n div 2; end; inc(A[0,0]); A[0,A[0,0]]:=1; n:=A[0,0]; for i:=1 to n do begin A[1,i]:=A[0,n+1-i]; end; for i:=2 to n+1 do begin A[i-1,0]:=A[i-1,n]; for j:=1 to n do begin A[i,j]:=A[i-1,j-1]; end; end; for i:=1 to n do A[i,0]:=1; i:=0; k:=0; {*****************} while k<>1 do begin k:=0; inc (i); for j:=1 to n do begin if (A[j,0]=1) and (A[j,i]=0) then A[j,0]:=0; end; for j:=1 to n do if A[j,0]=1 then begin inc(k); A[0,0]:=j; end; end; {*****************} k:=A[0,0]; for i:=1 to n do begin m:=m+(A[k,i]*power(2,n-i)); end; {*****************} rewrite (v); write (v,m:0:0); close(v); end.