#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using ll=long long; #define int ll #define rng(i,a,b) for(int i=int(a);i=int(a);i--) #define per(i,b) gnr(i,0,b) #define eb emplace_back #define all(x) x.begin(),x.end() #define SZ(x) x.size() #define fi first #define se second const int INF = 1e9; using namespace std; template using vc=vector; template using vvc=vc>; using pi=pair; using vi=vc; template inline bool chmax(T &a,T b){if(a inline bool chmin(T &a,T b){if(a>b){a=b;return true;}return false;} unordered_map prime_factor(int n){ unordered_map ret; for(int i=2; i*i<=n; i++){ while(n % i == 0){ ret[i]++; n /= i; } } if(n != 1) ret[n]=1; return ret; } int power(int x,int y){ int res=1; while(y){ if(y&1)res=(res*x); y=y>>1; x=(x*x); } return res; } signed main() { cin.tie(0); ios::sync_with_stdio(0); cout<> N; int ans=1; for(auto p:prime_factor(N)){ int pos=1; rep(j,p.se){ pos+=power(p.fi,j+1); } ans*=pos; } cout << ans << endl; }