#include using namespace std; int N, X[100000]; int dp[1000001]; int main() { scanf("%d", &N); for(int i = 0; i < N; i++) { scanf("%d", &X[i]); } sort(X, X + N); for(int i = 0; i < N; i++) { for(int j = 1; j * j <= X[i]; j++) { if(X[i] % j == 0) { dp[X[i]] = max(dp[X[i]], max(dp[j], dp[X[i] / j]) + 1); } } } printf("%d", *max_element(dp, dp + 1000001)); }