# coding:UTF-8 import sys MOD = 10 ** 9 + 7 INF = float('inf') N = int(input()) # 数字 X = list(map(int, input().split())) # スペース区切り連続数字 X.sort() mp = {} # 約数列挙 def divisorList(a): l = [] for i in range(1, int(a**0.5)+1): if a % i == 0: l.append(i) ii = a // i if i != ii: l.append(ii) return sorted(l) res = 0 for x in X: d = divisorList(x) t = 0 for n in d: if n in mp and mp[n] > t: t = mp[n] mp[x] = t + 1 if mp[x] > res: res = mp[x] print("{}".format(res))