#752. 渐行渐远

渐行渐远

题目描述

河面可用一条细长的格子带来表示,某些格子里有河流的激流(向左或向右),有些格子没有流(平静)。给定字符串 ss 描述河带上各格子的情况:

  • 字符 < 表示该格有向左的水流;
  • 字符 > 表示该格有向右的水流;
  • 字符 * 表示该格没有水流(需要自己划船)。

小明先选择一个格子作为出发位置,然后开始沿河移动:

  • 若当前格子有水流(<>),则他会被水流带到相邻的格子(方向由水流决定)。若相邻格子不存在(例如在格子 11 上且是 <,或在格子 nn 上且是 >),则会到达岸边,航行结束。移动耗时 11 分钟。
  • 若当前格子无水流(*),则 小明 可选择向左划或向右划,移动到相邻格子;若选择的方向上没有相邻格子,则到达岸边,航行结束。划船耗时 11 分钟。

小明希望尽可能长时间在河上航行。若存在能使其永远不靠岸的策略,输出 1-1;否则输出他最多能在河上航行的分钟数(即在到岸前可以走的最多步数)。

输入格式

  • 第一行包含一个整数 tt,表示测试用例数量。
  • 接下来每个测试用例为一行,包含一个字符串 ss1s31051\le |s|\le 3\cdot 10^5),只由字符 <>* 组成。

数据保证所有测试用例中字符串长度之和不超过 31053\cdot 10^5

输出格式

对每个测试用例输出一行:

  • 若小明能无限航行,输出 1-1
  • 否则输出他最多可以航行的分钟数。

样例输入

4
*****
<<<>
>*<
*

样例输出

-1
3
-1
1