def Divisors(N): N=abs(N) L,U=[],[] k=1 while k*k <=N: if N%k== 0: L.append(k) if k*k!=N: U.append(N//k) k+=1 return L+U[::-1] #================================================== N=int(input()) D=Divisors(N) K=0 for x in D: y=N//x M=1 while x or y: if x%2==0: x>>=1; y>>=1 continue if y%2==0: M=0 break else: M*=2 x>>=1; y>>=1 if M==1: K+=1 else: K+=M//2 print(K)