E. Palindromic Doubles
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

A subsequence is a sequence that can be obtained from another sequence by removing some elements without changing the order of the remaining elements.

A palindromic sequence is a sequence that is equal to the reverse of itself.

You are given a sequence of $$$n$$$ integers $$$a_1, a_2, \dots, a_n$$$. Any integer value appears in $$$a$$$ no more than twice.

What is the length of the longest palindromic subsequence of sequence $$$a$$$?

Input

The first line contains a single integer $$$t$$$ ($$$1 \le t \le 1000$$$) — the number of testcases.

Then the descriptions of $$$t$$$ testcases follow.

The first line of each testcase contains a single integer $$$n$$$ ($$$1 \le n \le 250\,000$$$) — the number of elements in the sequence.

The second line of each testcase contains $$$n$$$ integers $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le n$$$).

Any integer value appears in $$$a$$$ no more than twice. The sum of $$$n$$$ over all testcases doesn't exceed $$$250\,000$$$.

Output

For each testcase print a single integer — the length of the longest palindromic subsequence of sequence $$$a$$$.

Example
Input
5
6
2 1 3 1 5 2
6
1 3 3 4 4 1
1
1
2
1 1
7
4 4 2 5 7 2 3
Output
5
4
1
2
3
Note

Here are the longest palindromic subsequences for the example testcases:

  • 2 1 3 1 5 2
  • 1 3 3 4 4 1 or 1 3 3 4 4 1
  • 1
  • 1 1
  • 4 4 2 5 7 2 3 or 4 4 2 5 7 2 3