#include using namespace std; const int N = 1e5 + 5; int sum, dp[N], n, x, ans; int O(int x){ sum = 0; for(int i = 1; i * i <= x; ++i){ if(x % i == 0){ sum = max({dp[x / i], sum, dp[i]}); } } return sum; } int main(){ cin >> n; for(int i = 1; i <= n; ++i){ cin >> x; dp[x] = O(x) + 1; ans = max(ans, dp[x]); } cout << ans; return 0; }