U = 10**6 N = int(input()) X = list(map(int, input().split())) X.sort() dp = [0] * (U + 1) for i in X: dp[i] = max(dp[i], 1) j = 2 * i while j <= U: dp[j] = max(dp[j], dp[i] + 1) j += i print(max(dp[i] for i in X))