n = int(input()) A = list(map(int,input().split())) dp = [0]*(max(A)+1) for a in A: for j in range(1,int(a**0.5)+1): if a%j: continue dp[a] = max(dp[a],dp[j]+1,dp[a//j]+1) print(max(dp))