from collections import defaultdict N = int(input()) A = list(map(int, input().split())) dp = defaultdict(int) for a in A: dp[a] = max(dp[a], 1) for d in range(1, int(a**0.5)+1): if a % d != 0: continue if d < a: dp[a] = max(dp[a], dp[d] + 1) if a//d < a: dp[a] = max(dp[a], dp[a//d] + 1) K = max(dp.values()) print(K)