n = int(input()) M = 10 ** 5 + 1 d = [0] * M a = list(map(int, input().split())) for x in reversed(a): d[x] = max((d[b] for b in range(x, M, x)), default = 0) + 1 print(max(d))