uses crt;
var
  c, x, a, b : word;
begin
  { prvni priklad }
  write('Zadej cislo: ');
  readln(x);
  c := 0;

  while (x > 0) do
  begin
    inc(c);
    x := x and (x - 1);
  end;

  writeln('Odpoved je ', c);
  readkey;

  { druhy priklad }
  write('Zadej dve cisla: ');
  read(a, b);
  write('Vysledek je ', (a and b) + (a xor b) div 2);
  readkey;
end.

