#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; templatebool chmax(T &a, const T &b) { return (abool chmin(T &a, const T &b) { return (b vi; typedef vector vl; typedef pair pii; typedef pair pll; typedef int _loop_int; #define rep(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define FOR(i,a,b) for(_loop_int i=(_loop_int)(a);i<(_loop_int)(b);++i) #define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1;i>=(_loop_int)(a);--i) #define DEBUG(x) cout<<#x<<": "< vi; typedef pair pii; vector enumdiv(ll n) { vector S; for (ll i = 1; i*i <= n; i++) { if (n%i == 0) { S.push_back(i); if (i*i != n)S.push_back(n / i); } } sort(S.begin(), S.end()); return S; } int main() { ll N; cin >> N; auto ed = enumdiv(N); set ans; for (ll i : ed) { ans.insert(to_string(i) + to_string(N / i)); } cout << ans.size() << endl; return 0; }