#include using namespace std; #define rep(i, n) for (int i = 0; i < int(n); i++) #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") template inline bool chmax(T &a, T b) { if (a < b) { a = b; return true; } return false; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int n; cin >> n; vector a(n); rep(i, n) cin >> a[i]; vector dp(n, 0); rep(i, n) { rep(j, i) if (a[i] % a[j] == 0) chmax(dp[i], dp[j]); dp[i]++; } int ans = 0; rep(i, n) chmax(ans, dp[i]); cout << ans << "\n"; }