Задача №1899. ???

var x: Integer;

procedure out_digit (b: Byte);
begin
  if b < 10 then write (chr (b + ord ('0')))
            else write (chr (b + ord ('A') - 10));
end;

procedure out (x, k: Longint);
var i, j, m: Integer;
  y: ^Byte;
begin
  m := 1 shl k - 1;
  for i := sizeof (x) - 1 downto 0 do begin
    y := @x;
    inc (y, i);
    j := 8;
    repeat
      dec (j, k);
      out_digit ((y^ shr j) and m);
    until j = 0;
    if i > 0 then write (' ');
  end;
  writeln;
end;

BEGIN
  readln (x);
  out (x, 1);
  out (x, 4);
END.
Примеры
Входные данные
3
Выходные данные
00000000 00000000 00000000 00000011
00 00 00 03
Входные данные
-57
Выходные данные
11111111 11111111 11111111 11000111
FF FF FF C7
Сдать: для сдачи задач необходимо войти в систему