#CF1936B. 弹球
弹球
每次测试的时间限制: 秒
每次测试的内存限制: 兆字节
有一条长度为 的一维网格。网格的第 个格子包含一个字符 ,该字符要么是 '<',要么是 '>'。
当一个弹球被放置在某个格子上时,它按照以下规则移动:
- 如果弹球位于第 格且 为
'<',则下一秒弹球向左移动一格。如果 为'>',则下一秒弹球向右移动一格。 - 弹球移动后,字符 会发生反转(即原来为
'<'变为'>',原来为'>'变为'<')。 - 当弹球离开网格时停止移动:可以从左边界离开,也可以从右边界离开。
你需要回答 个独立的询问。在第 个询问中,弹球会被放置在初始网格的第 格。注意:每次询问都使用初始的网格。
对于每个询问,计算弹球离开网格所需的秒数。可以证明弹球总会在有限步内离开网格。
输入
每个测试点包含多个测试用例。第一行包含测试用例的数量 ()。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 ()。
第二行包含一个长度为 的字符串 ,由字符 '<' 和 '>' 组成。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,对于每个 (),输出如果弹球初始放置在第 格时所需的秒数。每个测试用例的输出占一行,数之间用空格分隔。
示例
输入
3
3
><<
4
<<<<
6
<><<<>
输出
3 6 5
1 2 3 4
1 4 7 10 8 1
注意
在第一个测试用例中(,),弹球从第 格出发需要 秒离开网格,
从第 格出发需要 秒,从第 格出发需要 秒。
