#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; } } if(mp.size()==0 || X>1){ cout<<-1<> ans; map mpc; int x=1; for(auto [v,num]:mp){ for(int i=0;i