# yukicoder No.390 最長の数列 N = int(input()) X = sorted([int(x) for x in input().split()]) check = [0] * N max_len = 1 for (i, x) in enumerate(X): l = 1 xp = x if check[i] == 1: # 昇順にソートされているので既にチェックされた要素から始まる数列は見なくてよい continue else: for (j, y) in enumerate(X[i + 1:]): if y % xp == 0: check[i + j + 1] = 1 l += 1 max_len = max(l, max_len) xp = y print(max_len)