program kiek_palukanu;

  function palukanos (n: integer): integer;
    var mokestis, ismoketa: integer;
  begin
    mokestis := 1; ismoketa := 0;
    while ismoketa < n do { kol neižmok‚ta tai kas paskolinta }
      begin

        ismoketa := ismoketa + mokestis;
        if ismoketa < n  then mokestis := mokestis*2;
      end;
    palukanos := ismoketa-n;
  end; { pal–kanos }

  var n: integer;
begin
  readln (n);
  writeln (palukanos(n));
end.