CF1917B.Erase First or Second Letter

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

Erase First or Second Letter

You are given a string ss of length nn. Let's define two operations you can apply on the string:

  • remove the first character of the string;
  • remove the second character of the string.

Your task is to find the number of distinct non-empty strings that can be generated by applying the given operations on the initial string any number of times (possibly zero), in any order.

Input

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

The first line of each test case contains nn (1n1051 \leq n \leq 10^5) — the length of the string.

The second line of each test case contains the string ss. It is guaranteed that the string only contains lowercase letters of the English alphabet.

It is guaranteed that 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 number of distinct non-empty strings you can get.

Note

In the first test case, we can get the following strings: aa, aaaa, aaaaaa, aaaaaaaa, aaaaaaaaaa.

In the third test case, for example, the word baba can be reached in the following way:

  • remove the first character of the current string ababaababa, getting babababa;
  • remove the second character of the current string babababa, getting bbabba;
  • remove the second character of the current string bbabba, getting baba.

Samples

5
5
aaaaa
1
z
5
ababa
14
bcdaaaabcdaaaa
20
abcdefghijklmnopqrst
5
1
9
50
210

在线编程 IDE

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