#include #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; int main() { int n; cin >> n; vector a(n); rep(i, n) cin >> a[i]; sort(a.begin(), a.end()); const int M = 1e6; vector dp(M+1); int ans = 1; rep(i, n) { int now = dp[a[i]]+1; for (int j = a[i]*2; j <= M; j += a[i]) { dp[j] = max(dp[j], now); } ans = max(ans, now); } cout << ans << '\n'; return 0; }