#P1822E. Making Anti-Palindromes

Making Anti-Palindromes

Description

You are given a string ss, consisting of lowercase English letters. In one operation, you are allowed to swap any two characters of the string ss.

A string ss of length nn is called an anti-palindrome, if s[i]s[ni+1]s[i] \ne s[n - i + 1] for every ii (1in1 \le i \le n). For example, the strings "codeforces", "string" are anti-palindromes, but the strings "abacaba", "abc", "test" are not.

Determine the minimum number of operations required to make the string ss an anti-palindrome, or output 1-1, if this is not possible.

The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases. The description of the test cases follows.

Each test case consists of two lines. The first line contains a single integer nn (1n21051 \le n \le 2 \cdot 10^5) — the length of the string ss.

The second line contains the string ss, consisting of nn lowercase English letters.

The sum of nn over all test cases does not exceed 21052 \cdot 10^5.

For each test case, output a single integer — the minimum number of operations required to make the string ss an anti-palindrome, or 1-1 if this is not possible.

Input

The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases. The description of the test cases follows.

Each test case consists of two lines. The first line contains a single integer nn (1n21051 \le n \le 2 \cdot 10^5) — the length of the string ss.

The second line contains the string ss, consisting of nn lowercase English letters.

The sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, output a single integer — the minimum number of operations required to make the string ss an anti-palindrome, or 1-1 if this is not possible.

Sample Input 1

10
10
codeforces
3
abc
10
taarrrataa
10
dcbdbdcccc
4
wwww
12
cabbaccabaac
10
aadaaaaddc
14
aacdaaaacadcdc
6
abccba
12
dcbcaebacccd

Sample Output 1

0
-1
1
1
-1
3
-1
2
2
2

Note

In the first test case, the string "codeforces" is already an anti-palindrome, so the answer is 00.

In the second test case, it can be shown that the string "abc" cannot be transformed into an anti-palindrome by performing the allowed operations, so the answer is 1-1.

In the third test case, it is enough to swap the second and the fifth characters of the string "taarrrataa", and the new string "trararataa" will be an anti-palindrome, so the answer is 11.