def div(n): if n <= 0: return [] S = set() i = 1 while i * i <= n: if n % i == 0: S.add(i) S.add(n // i) i += 1 return list(S) def f(X, Y): val = 1 for i in range(35): x = (X >> i) & 1 y = (Y >> i) & 1 if x: if y: val *= 2 else: if y: return 0 if val % 2: return 1 else: return val//2 N = int(input()) ans = 0 for d1 in div(N): d2 = N // d1 ans += f(d1, d2) print(ans)