# dpでTLEした # エラトステネスのようにやるか N = int(input()) A = list(map(int, input().split())) #from collections import defaultdict #A_position = defaultdict(list) #for i in range(N): # A_position[A[i]].append(i) dp = [1]*N maxA = max(A) for i in range(N): current = dp[i] for j in range(i+1, N): if A[j]%A[i] == 0: dp[j] = max(dp[j], current+1) #print(dp) ans = max(dp) print(ans)