#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a ps; Int dfs(Int x){ Int &res=dp[x]; if(~res) return res; res=0; set ss; for(Int p:ps){ if(p>x) break; if(x%p==0) ss.emplace(dfs(x/p)); if(x%(p*p)==0) ss.emplace(dfs(x/(p*p))); } while(ss.count(res)) res++; return res; } signed main(){ Int n; cin>>n; vector x(n); for(Int i=0;i>x[i]; for(Int i=0;i