import sys input = sys.stdin.readline import math N=int(input()) A=list(map(int,input().split())) DP=[0]*(max(A)+1) for x in (A): xr=math.ceil(math.sqrt(x)) MAX=DP[1] for i in range(2,xr+1): if x%i==0: MAX=max(MAX,DP[i],DP[x//i]) DP[x]=MAX+1 print(max(DP))