P16880 [GKS 2022 #C] Palindromic Deletions
Description
Games with words and strings are very popular lately. Now Edsger tries to create a similar new game of his own. Here is what he came up with so far.
Edsger's new game is called Palindromic Deletions. As a player of this game, you are given a string of length $N$. Then you will perform the following process $N$ times:
1. Pick an index in the current string uniformly at random.
2. Delete the character at that index. You will then end up with a new string with one fewer character.
3. If the new string is a palindrome, you eat a piece of candy in celebration.
Now Edsger wonders: given a starting string, what is the expected number of candies you will eat during the game?
Input Format
The first line of the input gives the number of test cases, $T$. $T$ test cases follow. Each test case consists of two lines.
The first line of each test case contains an integer $N$, representing the length of the string.
The second line of each test case contains a string $S$ of length $N$, consisting of lowercase English characters.
Output Format
For each test case, output one line containing Case #$x$: $E$, where $x$ is the test case number (starting from $1$) and $E$ is the expected number of candies you will eat during the game.
$E$ should be computed modulo the prime $10^9 + 7$ ($1000000007$) as follows. Represent the answer of a test case as an irreducible fraction $\frac{p}{q}$. The number $E$ then must satisfy the modular equation $E \times q \equiv p \pmod{(10^9 + 7)}$, and be between $0$ and $10^9 + 6$, inclusive. It can be shown that under the constraints of this problem, such a number $E$ always exists and can be uniquely determined.
Explanation/Hint
In the first test case the game can go in one of $2$ ways (the character removed at each step is underlined):
1. "$a\underline{b}$" $\to$ "$a$" $\to$ "" (where "" denotes empty string). Both $a$ and "" are palindromes, so you will eat $2$ candies.
2. "$\underline{a}b$" $\to$ "$b$" $\to$ "". Both $b$ and "" are palindromes, so you will eat $2$ candies.
Overall, the expected number of candies you will eat is $\frac{2+2}{2} = 2$ candies.
In the second test case, the game can go in one of $6$ ways (the character removed at each step is underlined):
1. "$\underline{a}ba$" $\to$ "$\underline{b}a$" $\to$ "$\underline{a}$" $\to$ ""
2. "$\underline{a}ba$" $\to$ "$b\underline{a}$" $\to$ "$\underline{b}$" $\to$ ""
3. "$a\underline{b}a$" $\to$ "$\underline{a}a$" $\to$ "$\underline{a}$" $\to$ ""
4. "$a\underline{b}a$" $\to$ "$a\underline{a}$" $\to$ "$\underline{a}$" $\to$ ""
5. "$ab\underline{a}$" $\to$ "$\underline{a}b$" $\to$ "$\underline{b}$" $\to$ ""
6. "$ab\underline{a}$" $\to$ "$a\underline{b}$" $\to$ "$\underline{a}$" $\to$ ""
Overall, the expected number of candies you will eat is $\frac{2+2+3+3+2+2}{6} = \frac{14}{6} = \frac{7}{3}$ candies.
$333333338$ is a uniquely determined number that satisfies the conditions mentioned in the output section as $333333338 \times 3 \equiv 7 \pmod{(10^9 + 7)}$, therefore $333333338$ is the answer to this test.
### Limits
$1 \le T \le 20$.
String $S$ consists of only lowercase letters of the English alphabet.
**Test Set $1$**
$2 \le N \le 8$.
**Test Set $2$**
$2 \le N \le 400$.