题目描述
小Y酷爱的接龙游戏正是这样。玩腻了成语接龙之后,小Y决定尝试无平方因子二元合数接龙,规则如下:
现有n个不超过106的合数,每个均可表示为a=p×q(p,q为两个互异素数)。
若a=p1×q1(p1<q1),b=p2×q2(p2<q2),当且仅当q1=p2时b能接在a后面。
请问从给定的这 个数中选数接龙,最长可以形成一个包含多少数的接龙序列?
输入格式
第一行输入一个正整数 n,意义如题干所述。(n≤50000)
第二行输入 n个不超过 106的合数。
输出格式
输出仅一个整数,表示问题的答案。
样例
输入样例
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)},长度为5。
测试点1∼3满足:n=9,每个数不超过1000;
测试点4∼6满足:n=1000,每个数不超过106;
测试点7∼10满足:n=50000,每个数不超过106;