Problem6164--小C的数(number)

6164: 小C的数(number)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

小 C 非常喜欢数字。这次,他得到了一个长度为 $n$ 的正整数数列 $A$,第 $i$ 项为 $a_i$。
现在,小 C 想要找出来 $A$ 中最长的子序列 $B=\{b_1,\ b_2,\ \dots,\ b_m\}$,使得对于任意的二元组 $(i,\ j)$,$b_i$ 和 $b_j$ 满足倍数关系。
小 C 突然不会最长不下降子序列了,于是找到了你来帮他求出最长的子序列的长度。
子序列:对于长度为 $n$ 的数列 $A$,对于 $B=\{b_1,\ b_2,\ \dots,\ b_m\}$,若 $b_1=a_{p1},\ b_2=a_{p2},\ ...,\ b_m=a_{pm}$,则必须要满足 $1≤p_1<p_2<...<p_m≤n$,这样的数列 $B$ 称为 $A$ 的子序列。其中子序列 $B$ 可以为空。
倍数关系:对于两个数 $a,\ b$,两者成倍数关系,即 $a$ 能被 $b$ 整除,或者 $b$ 能被 $a$ 整除,两者至少一种成立。

Input

共两行,第一行有一个正整数 $n$,表示数列 $A$ 的长度;
第二行有 $n$ 个正整数,第 $i$ 个数表示 $a_i$。

Output

仅一行一个数,表示子序列长度的最大值。

Constraints


对于所有数据:$0<N≤3 \times 10^6,\ 10<a_i≤10^7$。

Sample 1 Input

5
1 2 3 8 16

Sample 1 Output

4
最长子序列为 $\{1,\ 2,\ 8,\ 16\}$,长度为 $4$。

Sample 2 Input

10
1 4 6 3 9 11 16 24 42 36

Sample 2 Output

4
最长长度为 $4$,选取方案不唯一,其中一种最长的子序列为 $\{1,\ 6,\ 3,\ 24\}$。

HINT

题目来源:2020年合肥市青少年信息学科普日活动(初中组)

Source/Category