N = int(input()) x = sorted([int(i) for i in input().split()]) dp = [[-1 for j in range(N)] for i in range(N)] def dfs(i,v): if i == N: return 0 if dp[i][v] != -1: return dp[i][v] ret = 0 if x[i] % x[v] == 0: ret = dfs(i + 1,i) + 1 ret = max(ret,dfs(i + 1,v)) dp[i][v] = ret return ret ans = 0 print(dfs(0,0))