vector<int>get_divisors(int n){
vector<int> res;for(int i =1; i <= n / i; i ++)if(n % i ==0){
res.push_back(n / i);}sort(res.begin(), res.end());return res;}
unordered_map<int,int> primes;//存储所有的指数和底数int x;
cin >> x;for(int i =2; i < x / i; i ++)while(x % i ==0){
x /= i;
primes[i]++;}if(x >1) primes[x]++;for(auto p : primes) res = res *(p.second +1);