#include using namespace std; int main(){ int n;cin >> n; vector x(n); int dp[1000001]; memset(dp,0,sizeof(dp)); for(int i=0;i> x[i]; dp[x[i]]=1; } for(int i=1;i<1000001;i++){ if(dp[i]){ for(int j=2;j*i<=1000000;j++){ if(dp[i*j]){ dp[i*j]=max(dp[i*j],dp[i]+1); } } } } int ans=0; for(int i=1;i<1000001;i++){ ans=max(ans,dp[i]); } cout << ans << endl; }