n = int(input()) A = list(map(int, input().split())) ma = max(A) dp = [0] * (ma + 1) for a in A: if a == 1: dp[a] = 1 else: dp[a] = max(dp[a], dp[1] + 1) for i in range(2, int(a ** 0.5 + 1)): if a % i == 0: dp[a] = max(dp[a], dp[i] + 1) dp[a] = max(dp[a], dp[a // i] + 1) print(max(dp))