#include using namespace std; typedef long long ll; typedef vector vi; typedef vector vl; typedef pair pii; typedef pair pll; typedef int _loop_int; #define REP(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define FOR(i,a,b) for(_loop_int i=(_loop_int)(a);i<(_loop_int)(b);++i) #define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1;i>=(_loop_int)(a);--i) #define DEBUG(x) cout<<#x<<": "< P; int n; int x[125252]; int dp[1252525]; int main(){ scanf("%d",&n); REP(i,n)scanf("%d",x+i); sort(x,x+n); int ans = 1; REP(i,n){ int y = x[i]; // dp[y] = 1; for(int j=1;j*j<=y;++j){ if(y%j!=0)continue; CHMAX(dp[y],dp[j]+1); if(j==y/j)continue; if(j==1)continue; CHMAX(dp[y],dp[y/j]+1); } CHMAX(ans,dp[y]); } printf("%d\n",ans); return 0; }