def make_divisors(n): divisors = [] #必要に応じてsetにしても良いかも i = 1 while i ** 2 <= n: if n % i == 0: divisors.append(i) if i ** 2 != n: divisors.append(n//i) i += 1 divisors.sort() return divisors N = int(input()) A = list(map(int,input().split())) from collections import defaultdict dic = defaultdict(int) for a in A: tmp = 0 for x in make_divisors(a)[:-1]: if x in dic: tmp = max(tmp,dic[x]) dic[a] = tmp + 1 print(max(dic.values()))