#include using namespace std; struct INIT{INIT(){ios::sync_with_stdio(false);cin.tie(0);cout<>N; vector x(N); range(it,x)cin>>it; sort(x.begin(),x.end()); vector dp(x.back()+1,0); int res=0; range(it,x){ dp[it]=dp[1]+1;; for(int i=2;i*i<=it;i++) if(it%i==0){ dp[it]=max({dp[it],dp[i]+1,dp[it/i]+1}); } res=max(res,dp[it]); } cout<