#include using namespace std; using ll = long long; int dp[1000005]; int main(){ int n; cin >> n; vector x(n); for(int i = 0; i < n; i++) cin >> x[i]; sort(x.begin(), x.end()); for(int i = 0; i < n; i++){ for(int j = x[i]; j <= 1000005; j += x[i]){ if(j==x[i]) dp[j]++; dp[j] = max(dp[j], dp[x[i]]); } } int ans = 0; for(int i = 0; i < n; i++) ans = max(ans, dp[x[i]]); cout << ans << endl; return 0; }