import sys input=lambda: sys.stdin.readline().rstrip() import bisect n=int(input()) X=sorted([int(i) for i in input().split()]) A=[1]*n for i,x in enumerate(X): mul=2 while mul*x<=X[-1]: ind=bisect.bisect_left(X,mul*x) if mul*x==X[ind]: A[ind]=max(A[ind],A[i]+1) mul+=1 print(max(A))