#include #define ll long long #define INF 1000000005 #define MOD 1000000007 #define EPS 1e-10 #define rep(i,n) for(int i=0;i<(int)n;++i) #define each(a, b) for(auto (a): (b)) #define all(v) (v).begin(),(v).end() #define fi first #define se second #define pb push_back #define show(x) cout <<#x<<" = "<<(x)<P; const int MAX_N = 100005; vector dev; vector id; void prime_factor(ll N) { for(ll i=2;i*i<=N;i++){ int cnt = 0; while(N%i == 0){ cnt++; N /= i; } if(cnt){ dev.pb(i); id.pb(cnt); } } if(N != 1){ dev.pb(N); id.pb(1); } return; } int main() { ll n; cin >> n; if(n % 2){ prime_factor(n); ll ans = 1; rep(i,id.size()){ ll res = 0; rep(j,id[i]+1){ res += (ll)pow(dev[i],j); } ans *= res; } cout << ans << endl; }else{ prime_factor(n/2); ll ans = 1; rep(i,id.size()){ ll res = 0; rep(j,id[i]+1){ res += (ll)pow(dev[i],j); } ans *= res; } cout << ans << endl; } return 0; }