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