#include #include #include using namespace atcoder; using mint = modint1000000007; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000 long long get(long long x,long long y){ long long ret = 1LL; rep(i,30){ int a = (x>>i)&1; int b = (y>>i)&1; if(a==0&&b==0)continue; if(a==1&&b==1){ ret *= 2; continue; } if(a==0&&b==1)continue; ret *= 0; } return ret; } int main(){ int N; cin>>N; long long ans = 0LL; for(int i=1;i*i<=N;i++){ if(N%i==0){ ans += get(i,N/i); //cout<