#1259. 马里奥派对

马里奥派对

题目背景

仔仔很喜欢玩马里奥派对里的双陆棋,它类似大富翁,通过掷色子,让角色棋盘上移动,色子的点数是161\sim 6,掷到多少点数就往前移动多少格。

题目描述

棋盘上有一条从左至右的路,我们用字符串来表示这条路,路上有两种特殊标记:

  • ’>‘标记,当角色通过色子移动后,最终停留在这标记上时,如果紧跟着还有2个或以上相同的标记(即包括脚下的标记总计3个或以上),那么角色可以沿着“>”一直前进,直到遇到不是'>'标记的位置时停下来。
  • ‘*’标记,与上面相同,但角色需要后退k步,这个k步就是从脚下的‘*’开始的连续的‘*’的数量。

每次掷色子后,最多触发一次标记,如果触发标记后角色又落在特殊标记上,则不会再次触发。

如果角色移动超过期盼右边界最后一个格,则停在最后一个格;如果超出左边界,则停在第一个格。

现给出仔仔 nn 次掷色子的结果,游戏开始时角色在棋盘外,请问游戏中的角色最终走到了哪一格?离终点还差几格?

输入格式

第一行为一个字符串s,字符串中的每个字符表示棋盘上的每一个格子。

第二行是一个n,表示掷了n次色子。

第三行是n个整数(1~6的范围),表示掷色子的结果,数字之间空格隔开。

输出格式

两个数字,即最终所在格子的序号和离终点格子的步数,数字空格隔开。

样例 #1

样例输入 #1

yhap>>>fmsdfa***>>>qoaoag
3
5 6 6

样例输出 #1

20 5

提示

【样例说明】 第一次掷5,走到第一个'>'格子,继续前进到'f'格子。第二次掷6,走到'*'格子,后退3步,到'd'格子。第三次掷6,走到下一个'>'格子,继续前进到'q'格子。最终角色停在第20格上,离终点'g'格子还有5格。

【数据范围】

对于50%50\%的数据,1s.size()255,0n10001\le s.size() \le 255,0\le n\le 1000

对于100%100\%的数据,256s.size()1000000,0n100000256\le s.size()\le 1000000,0\le n\le 100000 字符串包含所有小写字母、>*以及空格。