【题目描述】
小L喜欢数和数列。小L称a1...an这些数为好的。小L称一个序列b1...bm为好的当且仅当:
1.对于任意的 i(1≤i<m),满足 bi<bi+1。
2.对于任意的 i(1≤i<m),满足 gcd(bi,bi+1)>1。其中,gcd(x,y)为x和y的最大公因数,即最小的d,满足:d∣x且d∣y。
3.对于任意的 i(1≤i≤m),bi这个数是好的。
现在,小L想知道最长的能称为好的的序列的长度是多少,容易证明这个长度是有穷的。
【输入格式】
有多组测试点,输入第一行一个数T表示测试点的个数。
对于每一个测试点有两行:
第一行一个正整数n,表示好的的数的个数
第二行n个整数a1...an,表示小L称为好的的数,保证ai两两不相同。
【输出格式】
输出共T行,每一行为一个测试点的答案,即最长的好的序列的长度。
【样例输入1】
2
5
4 6 3 2 9
9
10 2 5 3 6 9 7 8 1
【样例输出1】
4
4
【样例解释】
对于第一个测试点来说,一个最长的好的序列可以是[2,4,6,9],长度为4。容易看出没有更长的好的序列。
对于第二个测试点来说,一个最长的好的序列可以是[3,6,8,10],长度为4。容易看出没有更长的好的序列。
【样例2】
见下发文件。
【数据范围】
对于 30% 的数据,满足 n,ai≤10。
对于 60% 的数据,满足 n,ai≤1000。
另有 20% 的数据,满足n≤1000。
对于 100% 的数据,满足 2≤n,ai≤100000,T≤5,ai两两不同。
时间限制:1s
空间限制:512MB