#2874. 序列

序列

题目描述

Y\red{Y}酷爱的接龙游戏正是这样。玩腻了成语接龙之后,小Y\red{Y}决定尝试无平方因子二元合数接龙,规则如下:

现有n\red{n}个不超过106\red{10^6}的合数,每个均可表示为a=p×q(p,q\red{a=p\times q(p,q}为两个互异素数)\red{)}

a=p1×q1(p1<q1),b=p2×q2(p2<q2)\red{a=p_1\times q_1(p_1<q_1),b=p_2\times q_2(p_2<q_2),}当且仅当q1=p2\red{q_1=p_2}b\red{b}能接在a\red{a}后面。

请问从给定的这 个数中选数接龙,最长可以形成一个包含多少数的接龙序列?

输入格式

第一行输入一个正整数 n\red{n,}意义如题干所述。(n\red{n≤}50000\red{50000)}

第二行输入 n\red{n }个不超过 106\red{10^6 }的合数。

输出格式

输出仅一个整数,表示问题的答案。

样例

输入样例

9
10 6 22 15 21 35 77 119 187

输出样例

5

提示

样例解释

最长接龙为{6(2×3),15(3×5),35(5×7),77(7×11),187(11×17)}\red{\{6(2\times 3),15(3\times 5),35(5\times 7),77(7\times 11),187(11\times 17)\},}长度为5\red{5}

测试点13\red{1\sim 3}满足:n=9\red{n=9,}每个数不超过1000\red{1000};

测试点46\red{4\sim 6}满足:n=1000\red{n=1000,}每个数不超过106\red{10^6};

测试点710\red{7\sim 10}满足:n=50000\red{n=50000,}每个数不超过106\red{10^6};