#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define fi first #define se second #define mp make_pair #define mt make_tuple #define pqueue priority_queue const int inf=1e9+7; const ll mod=1e9+7; const ll mod1=998244353; const ll big=1e18; const double PI=2*asin(1); int main() { int N; cin>>N; vector arr; map amap; for(int i=2;i*i<=N;++i) { if(N%i==0) arr.push_back(i); while(N%i==0) { N /= i; amap[i]++; } } if(N>1) { arr.push_back(N); amap[N]++; } int ans = 0; for(int i=0;i