107011 - 玩具谜题

玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如图所示。

第一个玩具小人singer告诉小光一个谜题:“你的眼镜藏在我左数第3个玩具小人的右数第1个玩具小人的左数第2个玩具小人那里。”

小光发现,这个谜题中玩具小人的朝向非常关键,因为朝内和朝外的玩具小人的左右方向是相反的:面朝圈内的玩具小人,它的左边是顺时针方向,右边是逆时针方向;而面向圈外的玩具小人,它的左边是逆时针方向,右边是顺时针方向。

小光一边艰难地辨认着玩具小人,一边数着:

“singer朝内,左数第3个是archer。

“archer朝外,右数第1个是thinker。

“thinker朝外,左数第2个是writer。

“所以眼镜藏在writer这里!”

为了防止下一次找不到眼镜,小光决定写个程序帮他解决类似的谜题。即:

有 n 个玩具小人围成一圈,己知它们的职业和朝向。现在第1个玩具小人告诉小光一个包含m条指令的谜题,其中第i条指令形如“左数/右数第si个玩具小人”。你需要输出依次数完这些指令后,到达的玩具小人的职业。

输入

第一行有两个正整数n,m(1\le n,m\le100 000),表示玩具小人的个数和指令的条数。

接下来n行,每行包含一个整数和一个字符串,以逆时针为顺序给出每个玩具小人的朝向和职业。其中0表示朝向圈内,1表示朝向圈外。保证不会出现其他的数。字符串长度不超过10且仅由小写字母构成,字符串不为空,并且字符串两两不同。

接下来m行,其中第i行包含两个整数a_i,s_i(1\le s_i<n),表示第i条指令。若a_i=0,表示向左数s_i个人;若a_i=1,表示向右数s_i个人。保证a_i不会出现其他的数。

输出

输出一个字符串,表示从第一个读入的小人开始,依次数完 m条指令后到达的玩具小人的职业。

样例

输入

7 3
0 singer
0 reader
0 mengbier
1 thinker
1 archer
0 writer
1 mogician
0 3
1 1
0 2

输出

writer
时间限制 1 秒
内存限制 128 MB
讨论 题解 统计
上一题 下一题