{
TASK:SUM
LANG:PASCAL
}
program sum;
var N,max,z,sbor,resheniq:longint;
begin
write('n=');readln(N);
if (N mod 2)=1 then
 MAX:=(N div 2)+1
 else
 MAX:=N div 2;
While z>0 do
begin
 z:=pred(MAX);
 if z+max=N then resheniq:=resheniq+1;
 if z+max>n then max:=max-1;
 if z+max<n then
 begin sbor:=max+z;
  while sbor<n do
  begin
   z:=pred(z);
   sbor:=sbor+pred(z);
   if sbor=n then resheniq:=resheniq+1;
  end;
 end;
end;
write(resheniq);
readln;
end.
