有时,技术术语中蕴含着某种人生哲学。互斥锁(Mutex)就是其中之一。在通往梦想的道路上,你可能会被某些困难所阻碍,这时你需要有人停下脚步,帮助你度过难关。
为了让你了解互斥锁背后的哲学,Rikka 提出了一个简单的问题。也许你们中有些人对互斥锁了解不多,所以她用另一个场景来代替它。
有一排 $n$ 个门,从左到右排列。几个人站在所有门的左侧,他们都想去右侧。门有两种:黑色和白色。这些人共享能量,用一个非负整数 $E$ 表示。初始时,$E = 0$。
如果一个人穿过一扇白色门,此人将为团队获得一点能量:$E$ 的值增加 1。如果一个人穿过一扇黑色门,此人将失去一点能量:$E$ 的值减少 1。由于 $E$ 必须是非负整数,如果 $E = 0$,则在有人穿过白色门之前,没有人能穿过黑色门。你可以假设不会有两个人同时移动。没有人可以从右向左移动。
我们用 “P” 表示黑色门,“V” 表示白色门,并用由 “P” 和 “V” 组成的字符串来表示这一排门。最初,所有人都站在字符串的开头,理想情况下,他们都想穿过整个字符串。不幸的是,有时这可能是不可能的。因此,所有人都会无私地行动,他们的共同目标是至少让一个人到达所有门的右侧。
你的任务是找出为了实现这一目标,该团队所需的最少人数。
例如,如果门排是 “VPP”,他们至少需要两个人:第一个人穿过第一扇白色门,为团队获得一点能量,然后第二个人就能穿过整个字符串。
输入格式
第一行包含一个整数 $t$ ($1 \le t \le 10^3$),表示测试用例的数量。
每个测试用例占一行。该行包含一个由字母 “P” 和 “V” 组成的字符串 $s$ ($1 \le |s| \le 10^5$),描述了门的排列。
保证 $|s| > 1000$ 的测试用例不超过 30 个。
输出格式
对于每个测试用例,在单独的一行中输出一个整数:实现共同目标所需的最少人数。如果无论人数多少都无法实现目标,则输出 -1。
样例
输入 1
4 VPP VPPVVVVPPPPPPPP VPPPPPPPPPPPPPP P
输出 1
2 3 14 -1