n = int(input()) a = list(map(int, input().split())) m = 10 ** 5 dp = [0 for _ in range(n)] idx = [None for _ in range(m + 1)] for i in range(n): if idx[a[i]] is None: dp[i] = 1 else: dp[i] = dp[idx[a[i]]] + 1 for x in range(a[i], m + 1, a[i]): if idx[x] is None or dp[idx[x]] < dp[i]: idx[x] = i print(max(dp))