This page is still under construction.

Parts of this page are still being built. What you see may change.

Girls' Party

Time limit8sMemory limit512 MB

Summary
In a Josephus-style elimination game on a circular string of B and G girls, Bella may switch the count start from 1 to 0 at most once; find the maximum number of B girls that can survive at the end.
Level

Hard8 of 10

Topics
Simulation, Brute force, Math, Implementation
Solved
No attempts yet

Problem

Issac H. Ives hosted a party for girls. He had some nice goods and wanted to distribute them to the girls as presents. However, there were not enough presents, so he needed to decide who would take them. He held a game for that purpose.

Before the game, Issac had all the girls divided into two teams. He named his close friends Bella and Gabriella as the two leaders and asked the other girls to join either Bella or Gabriella. After the two teams were formed, Issac asked the girls to form one big circle.

The rule of the game was as follows. The game consisted of a number of rounds. In each round, the girls called numbers from 1 to N in clockwise order (N was a number fixed before the game started). The girl calling the number N was told to get out of the circle and excluded from the rest of the game. Then the next round started from the next girl, that is, the girls called the numbers again, and the one calling N left the circle. This was repeated until only the members of either team remained. The remaining team won the game.

As the game went on, Bella found far more girls of her team excluded than those of Gabriella's team. Bella complained about it and requested Issac to make the next round begin with a call of zero instead of one. Issac liked her idea since he was a computer scientist, and accepted her request. After that round, many girls of Gabriella's team came to leave the circle, and eventually Bella's team won the game and got the presents from Issac.

Now let us consider the following situation. There are two teams led by Bella and Gabriella respectively, where they do not necessarily have the same number of members. Bella is allowed to change the starting number from one to zero at up to one round (regardless of whether the starting girl belongs to her team or not). We want to know how many girls of Bella's team at most can remain in the circle. You are requested to write a program for it.

Input

The input is a sequence of datasets. The first line of the input contains the number of datasets. The number of datasets does not exceed 200.

Each dataset consists of a line with a positive integer N (1 ≤ N ≤ 230) and a string that specifies the clockwise order of the girls. Each character of the string is either 'B' (that denotes a member of Bella's team) or 'G' (Gabriella's team). The first round begins with the girl indicated by the first character of the string. The length of the string is between 2 and 200 inclusive.

Output

For each dataset, print in a line the maximum possible number of the girls of Bella's team remaining in the circle, or "0" (without quotes) if there are no ways for Bella's team to win the game.

Examples1

  1. Example 1

    Input
    6
    1 GB
    3 GBGBBB
    9 BBBGBBBGGG
    9 GGBGBBGBBB
    7 GBGGGGBGGG
    3 BBBBBGBBBB
    
    Expected output
    1
    4
    4
    1
    0
    8