def divisors(n): i = 1 table = set() while i * i <= n: if not n % i: table.add(i) table.add(n//i) i += 1 table = sorted(list(table)) # 速度が欲しい時は消す return table import sys input = sys.stdin.readline N=int(input()) A=list(map(int, input().split())) dp=[-1]*(max(A) + 1) dp[1]=0 for a in A: tmp=0 for n in divisors(a): if n==a: continue if dp[n]==-1: continue tmp=max(tmp,dp[n]) dp[a]=tmp+1 print(max(dp))