#P1114. 三重利刃

三重利刃

题目描述

Riku 正在准备补考。

她记得在期末前 Rio 告诉过她,一个序列如果是“摇滚的”,当且仅当其满足下面两个条件:

  • 这个序列所有长度为奇数的子序列的乘积不是完全平方数;
  • 这个序列所有长度为偶数的子序列的乘积是完全平方数。

Tsubaki 正在为 Riku 补习,她给出一个长度为 nn 正整数序列 aa,希望 Riku 能求出一个序列中最长的“摇滚的”子序列的长度,否则她会好好教育 Riku。

因为通过补考需要熟悉这个问题的解法,所以 Tsubaki 总共有 TT 个这样的问题。而期末挂科的 Riku 自然回答不上,所以她希望你帮她对每个问题求出这个长度。

输入格式

第一行一个正整数 TT

接下来每个问题共两行。

第一行一个整数 nn,表示正整数序列 aa 的长度。

第二行 nn 个用空格分隔的正整数,第 ii 个数表示 aia_i 的值。

输出格式

TT 行,第 ii 行输出第 ii 个问题的答案。

3
5
8 12 12 16 27
5
7 10 18 8 1
4
1 9 1 9
3
2
0

数据范围

  • 对于 30%30\% 的数据,1T501 \le T \le 501n,n501 \le n, \sum n \le 50
  • 对于另外 30%30\% 的数据,1n31 \le n \le 31ai1031 \le a_i \le 10^3
  • 对于 100%100\% 的数据,1T51051 \le T \le 5 \cdot 10^51n,n51051 \le n, \sum n \le 5 \cdot 10^51ai1071 \le a_i \le 10^7