#Pro13. 飘散而去
飘散而去
Monocarp 家门前有一条河,可以表示为一排格子。某些格子中有强水流,而其他格子则没有水流。这可以用一个字符串 表示,其中包含以下字符:
- 小于号('<')—— 向左的水流;
- 大于号('>')—— 向右的水流;
- 星号('*')—— 无水流。
最初,Monocarp 选择一个格子作为他沿河航行的起点。
如果 Monocarp 当前所处的格子中有水流,他会被水流带往相邻的格子(方向由水流决定)。如果没有相邻格子(即第 个格子是向左的水流,或第 个格子是向右的水流),Monocarp 就会到达岸边。每次移动耗时一分钟。
如果 Monocarp 当前所处的格子中没有水流,他可以选择划向左边或右边的相邻格子。如果所选方向上没有相邻格子,他就会到达岸边。每次移动同样耗时一分钟。
Monocarp 希望尽可能长时间地在河上航行。如果 Monocarp 可以无限航行下去,则输出 ;否则,输出 Monocarp 在到达岸边前能够航行的最长时间。
输入
第一行包含一个整数 ()—— 测试用例的数量。
每个测试用例仅包含一行,一个字符串 (),该字符串仅由字符 '<'(向左电流)、'>'(向右电流)和 '*'(无电流)组成。它们的 ASCII 码分别为 、 和 。
输入还满足额外约束:所有测试用例中字符串 的总长度不超过 。
输出
对于每个测试用例,输出一个整数:
- 若 Monocarp 能够无限期地沿河航行,则输出 ;
- 否则,输出 Monocarp 在靠岸前能够航行的最大时间。
Samples
4
*****
<<<>
>*<
*
-1
3
-1
1