Hall of Fame
Contest: Hello 2023
Difficulty rating: 800
Tags: constructive algorithms, greedy, strings

Thalia is a Legendary Grandmaster in chess. She has $$$n$$$ trophies in a line numbered from $$$1$$$ to $$$n$$$ (from left to right) and a lamp standing next to each of them (the lamps are numbered as the trophies).

A lamp can be directed either to the left or to the right, and it illuminates all trophies in that direction (but not the one it is next to). More formally, Thalia has a string $$$s$$$ consisting only of characters 'L' and 'R' which represents the lamps' current directions. The lamp $$$i$$$ illuminates:

- trophies $$$1,2,\ldots, i-1$$$ if $$$s_i$$$ is 'L';
- trophies $$$i+1,i+2,\ldots, n$$$ if $$$s_i$$$ is 'R'.

She can perform the following operation at most once:

- Choose an index $$$i$$$ ($$$1 \leq i < n$$$);
- Swap the lamps $$$i$$$ and $$$i+1$$$ (without changing their directions). That is, swap $$$s_i$$$ with $$$s_{i+1}$$$.

Thalia asked you to illuminate all her trophies (make each trophy illuminated by at least one lamp), or to tell her that it is impossible to do so. If it is possible, you can choose to perform an operation or to do nothing. Notice that lamps cannot change direction, it is only allowed to swap adjacent ones.

Input format:
Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \leq t \leq 10\,000$$$). The description of the test cases follows.

The first line of each test case contains a positive integer $$$n$$$ ($$$2 \leq n \leq 100\,000$$$)  — the number of trophies.

The second line of each test case contains a string $$$s$$$ of length $$$n$$$ consisting only of characters 'L' and 'R'  — the $$$i$$$-th character describes the direction of the $$$i$$$-th lamp.

It is guaranteed that the sum of $$$n$$$ over all test cases does not exceed $$$100\,000$$$.

Output format:
For each test case print $$$-1$$$ if it is impossible to illuminate all trophies by performing one operation (or doing nothing). Otherwise, print $$$0$$$ if you choose not to perform the operation (i.e., the trophies are illuminated by the initial positioning of the lamps), or an index $$$i$$$ ($$$1 \leq i < n$$$) if you choose to swap lamps $$$i$$$ and $$$i+1$$$.

If there are multiple answers, print any.

Constraints:
Time limit: 1.0 s
Memory limit: 256.0 MB

Note:
In the first example, it is possible to swap lamps $$$1$$$ and $$$2$$$, or do nothing. In any case, the string "LL" is obtained. Not all trophies are illuminated since trophy $$$2$$$ is not illuminated by any lamp  — lamp $$$1$$$ illuminates nothing and lamp $$$2$$$ illuminates only the trophy $$$1$$$.

In the second example, it is necessary to swap lamps $$$1$$$ and $$$2$$$. The string becomes "RL". Trophy $$$1$$$ is illuminated by lamp $$$2$$$ and trophy $$$2$$$ is illuminated by lamp $$$1$$$, hence it is possible to illuminate all trophies.

In the third example, all trophies are initially illuminated  — hence, not performing any operation is a valid solution.

In the last two examples performing swaps is not necessary as all trophies are illuminated initially. But, the presented solutions are also valid.

Example input:
6
2
LL
2
LR
2
RL
2
RR
7
LLRLLLR
7
RRLRRRL

Example output:
-1
1
0
-1
3
6

Editorial:
What happens when L appears after some R in the string?
Suppose that there exists an index i such that si=R and si+1=L. Lamp i illuminates trophies i+1,i+2,…n and lamp i+1 illuminates 1,2,…i. We can conclude that all trophies are illuminated if L appears right after some R. So, strings LLRRLL,LRLRLR,RRRLLL,… do not require any operations to be performed on them, since they represent configurations of lamps in which all trophies are already illuminated.
Now, we consider the case when such i does not exist and think about how we can use the operation once. Notice that if R appears right after some L, an operation can be used to transform LR into RL, and we have concluded before that all trophies are illuminated in that case. So, if LR appears in the string, we perform the operation on it.
An edge case is when L and R are never adjacent (neither LR nor RL appears). Notice that si=si+1 must hold for i=1,2,…n−1 in that case, meaning that LL…L and RR…R are the only impossible strings for which the answer is −1.