n = int(input()) x = set(map(int, input().split())) l = [1 if i in x else 0 for i in range(10 ** 6 + 1)] ans = 1 for x in range(1, 10 ** 6): for m in range(x * 2, 10 ** 6, x): if l[m]: l[m] = max(l[m], l[x] + 1) ans = max(ans, l[m]) print(ans)