CF1941C.Rudolf and the Ugly String

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

Rudolf and the Ugly String

Rudolf has a string ss of length nn. Rudolf considers the string ss to be ugly if it contains the substring^\dagger "pie" or the substring "map", otherwise the string ss will be considered beautiful.

For example, "ppiee", "mmap", "dfpiefghmap" are ugly strings, while "mathp", "ppiiee" are beautiful strings.

Rudolf wants to shorten the string ss by removing some characters to make it beautiful.

The main character doesn't like to strain, so he asks you to make the string beautiful by removing the minimum number of characters. He can remove characters from any positions in the string (not just from the beginning or end of the string).

^\dagger String aa is a substring of bb if there exists a consecutive segment of characters in string bb equal to aa.

Input

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

The first line of each test case contains a single integer nn (1n1061 \le n \le 10^6) — the length of the string ss.

The next line of each test case contains the string ss of length nn. The string ss consists of lowercase Latin letters.

The sum of nn over all test cases does not exceed 10610^6.

Output

For each test case, output a single integer — the minimum number of characters that need to be deleted to make the string ss beautiful. If the string is initially beautiful, then output 00.

Note

In the first test case, for example, you can delete the 44th and 99th characters to make the string beautiful.

In the second test case, the string is already beautiful.

Samples

6
9
mmapnapie
9
azabazapi
8
mappppie
18
mapmapmapmapmapmap
1
p
11
pppiepieeee
2
0
2
6
0
2

在线编程 IDE

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