时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld
题目描述
小芳能帮他进行任意次如下操作:
选择一个首尾元素相等的区间
,将
这段元素删除,并将其余元素按现有顺序拼接起来。
小红想知道,在可以进行任意次上述操作的情况下,能否将双排列中的所有数删除。
【名词解释】
双排列:长度为

的双排列为两个长度为

的排列打乱顺序后得到的数组。
排列:长度为

的排列是由

这

个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,

是一个长度为

的排列,而

和

都不是排列,因为前者存在重复元素,后者包含了超出范围的数。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数
代表数据组数,每组测试数据描述如下:
第一行输入一个整数
)
。

第二行输入

个整数
)
,表示双排列的元素。保证其是一个合法的双排列。
输出描述:
对于每一组测试数据,新起一行。如果可以,输出
,否则输出
。
示例1
输入
复制
2
3
1 2 3 1 2 3
3
1 2 3 3 2 1
说明
对于第二组数据,选择区间
![\left[1, 6\right]](https://hr.nowcoder.com/equation?tex=%5Cleft%5B1%2C%206%5Cright%5D)
即可。