#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; const int inf=1<<30; const ll INF=1LL<<62; typedef pair P; typedef pair PP; const ll MOD=998244353; const int dy[]={0,1,0,-1}; const int dx[]={1,0,-1,0}; int main(){ ll X; cin >> X; if(X==1){ cout<<2< mp; for(ll v=2;v<=MAXV;v++){ if(X%v==0){ ll cnt=0; while(X%v==0){ X/=v; cnt++; } mp[v]=cnt; } } ll tmp_v=0; for(auto [v,num]:mp){ tmp_v+=(v+1)*num; // cout<1 || tmp_v>MAXV){ //まだXは割り切れないすうがのこっている cout<<-1<> cand; map mpc; int x=1; for(auto [v,num]:mp){ for(int i=0;i