n = int(input()) a = list(map(int, input().split())) dp = [0] * 100010 for i in range(n): Max = 0 d = 0 while d * d <= a[i]: d += 1 if a[i] % d != 0: continue if Max < dp[d]: Max = dp[d] if Max < dp[a[i] // d]: Max = dp[a[i] // d] dp[a[i]] = Max + 1 print(max(dp))