n = int(raw_input()) l = map(int, raw_input().split()) ll = [0 for _ in range(10**6+1)] for i in l: ll[i] = 1 for i,j in enumerate(ll): if j == 0: continue k = i*2 while k <= 10**6: if ll[k] != 0: ll[k] = max(ll[k], j+1) k += i print max(ll)