n,*a = map(int,open(0).read().split()) M = 300005 r,c = [1]*M, [0]*M for v in a: if c[v] < r[v]: r[v*2::v] = [max(k,r[v]+1) for k in r[v*2::v]] c[v] = r[v] print(max(c))