n = int(input()) *a, = map(int,input().split()) N = 10**6+1 dp = [0]*N for ai in a: dp[ai] = 1 for i in range(1,N): if dp[i] == 0: continue for j in range(2*i,N,i): if dp[j]: dp[j] = max(dp[j],dp[i]+1) print(max(dp))