#P2078. 2024.9.14-MT-第4题-小塔的数组

2024.9.14-MT-第4题-小塔的数组

题目内容

​ 小塔有一个长度为n的数组[a1,a2,...,an][a1,a2,...,an]。他定义一个中所有数的最小公倍数lcmlcm不数组xx是好的,当且仅当数存在于xx中。例如,数组[1,2,3,4][1,2,3,4]是一个好数组,因为所有元素的lcm=12lcm=12,而1212不在数组中,所以它是一个好数组;而数组[2,6,3][2,6,3]不是好数组,因为所有元素的lcm=6lcm=6,而66存在于数组中。 小塔希望从aa中选择一个子序列,使得此子序列是好数组,并且他想知道子序列的最大长度。 如果数组aa可以通过删除数组bb中的若干(可能为零或全部)元素得到,则数组aa是数组bb的子序列。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数T(1T100)T(1≤T≤100)代表数据组数,每组测试数据描述如下: 第一行输入一个整数n(1n2000)n(1≤n≤2000)代表数组中的元素数量。 第二行输入n个整数a1,a2,...,an(1ai109)a1,a2,...,an (1≤a_i≤10^9)代表数组中的元素。

输出描述

对于每一组测试数据,在一行上输出一个整数,代表可以选择的好子序列的最大长度。

样例1

输入

2
3
1 3 2
5
1 2 3 12 4

输出

3
4

说明

对于第一组测试数据,可以全选。 对于第二组测试数据,选择[1,2,3,4][1,2,3,4],此时lcm=12lcm=12,不在该子序列中,所以它是好的。