#include <bits/stdc++.h>   using namespace std;   template <typename T>   istream& operator>>(istream& is, vector<T>& v) {     for (auto& i : v) is >> i;     return is;   }   template <typename T>   ostream& operator<<(ostream& os, vector<T>& v) {     for (auto& i : v) os << i <<    ;     return os;   }   template <typename T, typename U>   istream& operator>>(istream& is, pair<T, U>& p) {     is >> p.first >> p.second;     return is;   }   template <typename T, typename U>   ostream& operator<<(ostream& os, pair<T, U>& p) {     os << p.first <<     << p.second;     return os;   }   int main() {     long long b;     cin >> b;     vector<pair<long long, long long>> v;     long long p = 2;     while (p * p <= b) {       if (b % p == 0) {         v.emplace_back(p, 0);         while (b % p == 0) {           b /= p;           v.back().second++;         }       }       ++p;     }     if (b != 1) v.emplace_back(b, 1);     long long c = 1;     for (auto p : v) {       c *= p.second + 1;     }     cout << c <<   n ;     return 0;   }   