#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(N); int M; int tmpans; for(int i=0;i>M; vector tmparr; map amap; for(int j=2;j*j<=M;++j) { if(M%j==0) tmparr.push_back(j); while(M%j==0) { amap[j]++; M /= j; } } if(M>1) { tmparr.push_back(M); amap[M]++; } tmpans = 0; for(int j=0;j