String of CCPC
题号:NC14367
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

BaoBao has just found a string s of length n consisting of 'C' and 'P' in his pocket. As a big fan of the China Collegiate Programming Contest, BaoBao thinks a substring sisi+1si+2si+3 of s  is "good", if and only if si=si+1=si+3= 'C' ,and si+2='P', where si denotes the i-th character in string s. The value of s is the number of different "good" substrings in s. Two "good" substrings  sisi+1si+2si+3 and sjsj+1sj+2sj+3 are different ,if and only ≠ j .

To make this string more valuable, BaoBao decides to buy some characters from a character store. Each time he can buy one 'C' or one 'P' from the store, and insert the character into any position in s.But everything comes with a cost. If it's the i-th time for BaoBao to buy a character, he will have to spend i - 1 units of value.

The final value BaoBao obtains is the final value of  s minus the total cost of all the characters bought from the store. Please help BaoBao maximize the final value.

输入描述:

There are multiple test cases. The first line of the input contains an integer T, indicating the number of test cases. For each test case:

The first line contains an integer n (1 ≤ n ≤ 2 ×105) indicating the length of strings.

The second line contains the string s (|s| = n)consisting of 'C' and 'P'.

It's guaranteed that the sum of n over all test cases will not exceed 106.

输出描述:

For each test case output one line containing one integer, indicating the maximum final value BaoBao can obtain.
示例1

输入

复制
3
3
CCC
5
CCCCP
4
CPCP

输出

复制
1
1
1

说明

For the first sample test case, BaoBao can buy one 'P' (cost 0 value) and change  to "CCPC". So the final value is 1 - 0 = 1.
For the second sample test case, BaoBao can buy one 'C' and one 'P' (cost 0 + 1 = 1 value) and change to "CCPCCPC". So the final value is 2 - 1 = 1.
For the third sample test case, BaoBao can buy one 'C' (cost 0 value) and change to "CCPCP". So the final value is 1 - 0 = 1.
It's easy to prove that no strategies of buying and inserting characters can achieve a better result for the sample test cases.