CF1682A.Palindromic Indices

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Palindromic Indices

You are given a palindromic string ss of length nn.

You have to count the number of indices ii (1in)(1 \le i \le n) such that the string after removing sis_i from ss still remains a palindrome.

For example, consider ss = "aba"

  1. If we remove s1s_1 from ss, the string becomes "ba" which is not a palindrome.
  2. If we remove s2s_2 from ss, the string becomes "aa" which is a palindrome.
  3. If we remove s3s_3 from ss, the string becomes "ab" which is not a palindrome.

A palindrome is a string that reads the same backward as forward. For example, "abba", "a", "fef" are palindromes whereas "codeforces", "acd", "xy" are not.

Input

The input consists of multiple test cases. The first line of the input contains a single integer tt (1t103)(1 \leq t \leq 10^3)  — the number of test cases. Description of the test cases follows.

The first line of each testcase contains a single integer nn (2n105)(2 \leq n \leq 10^5)  — the length of string ss.

The second line of each test case contains a string ss consisting of lowercase English letters. It is guaranteed that ss is a palindrome.

It is guaranteed that sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, output a single integer  — the number of indices ii (1in)(1 \le i \le n) such that the string after removing sis_i from ss still remains a palindrome.

Note

The first test case is described in the statement.

In the second test case, the indices ii that result in palindrome after removing sis_i are 3,4,5,63, 4, 5, 6. Hence the answer is 44.

In the third test case, removal of any of the indices results in "d" which is a palindrome. Hence the answer is 22.

Samples

3
3
aba
8
acaaaaca
2
dd
1
4
2

在线编程 IDE

建议全屏模式获得最佳体验