Kalindrome Array

题意翻译

对于长度为 $m$ 的序列 $b$,我们称 $b$ 是「回文的」,当且仅当对于所有 $i\in[1,m]$,都有 $b_i=b_{m-i+1}$。特别的,空序列也是回文的。 对于一个序列,我们称其是「可爱的」,当且仅当且满足如下条件: - 存在数 $x$,使得删除序列中若干值等于 $x$ 的元素后,序列是回文的。(删除元素后,剩余元素会并在一起) 需要注意的是,你并不需要删除所有值等于 $x$ 的元素,并且,你也可以选择不删除任何元素。 例如: - $[1,2,1]$ 是可爱的,因为你不需要删除任何一个数,其本身就是回文的。 - $[3,1,2,3,1]$ 是可爱的,因为你可以选择 $x=3$,然后删除所有值等于 $3$ 的元素,将其变为回文的。 - $[1,2,3]$ 则不是可爱的。 现在蓝给出了一个长度为 $n$ 的序列 $a$,她希望你能帮她确定其是否是可爱的。 本题多组数据,数据组数为 $t$,会在输入的开头给出。对于每组数据,如果给出的序列 $a$ 是可爱的,请输出 `YES`,否则输出 `NO`。 题目数据满足:$1 \leq t \leq 10^4$,$1 \leq n \leq 2\times10^5$,$1 \leq a_i \leq n$,$1 \leq \sum n \leq 2\times10^5$。

题目描述

An array $ [b_1, b_2, \ldots, b_m] $ is a palindrome, if $ b_i = b_{m+1-i} $ for each $ i $ from $ 1 $ to $ m $ . Empty array is also a palindrome. An array is called kalindrome, if the following condition holds: - It's possible to select some integer $ x $ and delete some of the elements of the array equal to $ x $ , so that the remaining array (after gluing together the remaining parts) is a palindrome. Note that you don't have to delete all elements equal to $ x $ , and you don't have to delete at least one element equal to $ x $ . For example : - $ [1, 2, 1] $ is kalindrome because you can simply not delete a single element. - $ [3, 1, 2, 3, 1] $ is kalindrome because you can choose $ x = 3 $ and delete both elements equal to $ 3 $ , obtaining array $ [1, 2, 1] $ , which is a palindrome. - $ [1, 2, 3] $ is not kalindrome. You are given an array $ [a_1, a_2, \ldots, a_n] $ . Determine if $ a $ is kalindrome or not.

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases. The description of the test cases follows. The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 2 \cdot 10^5 $ ) — the length of the array. The second line of each test case contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \le a_i \le n $ ) — elements of the array. It's guaranteed that the sum of $ n $ over all test cases won't exceed $ 2 \cdot 10^5 $ .

输出格式


For each test case, print YES if $ a $ is kalindrome and NO otherwise. You can print each letter in any case.

输入输出样例

输入样例 #1

4
1
1
2
1 2
3
1 2 3
5
1 4 4 1 4

输出样例 #1

YES
YES
NO
YES

说明

In the first test case, array $ [1] $ is already a palindrome, so it's a kalindrome as well. In the second test case, we can choose $ x = 2 $ , delete the second element, and obtain array $ [1] $ , which is a palindrome. In the third test case, it's impossible to obtain a palindrome. In the fourth test case, you can choose $ x = 4 $ and delete the fifth element, obtaining $ [1, 4, 4, 1] $ . You also can choose $ x = 1 $ , delete the first and the fourth elements, and obtain $ [4, 4, 4] $ .