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