#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node
{
ll flag,dir;
char name[50];
}s[100100];
ll n,m,i,j,td=1,dir,dis;
ll walk(ll td,ll dir,ll dis)
{
if(s[td].dir==0)
{
if(dir==0)
{
td=td-dis;
if(td<=0) td=n-((-td)%n);
}
else
{
td=td+dis;
td=td%n;
}
}
else
{
if(dir==0)
{
td=td+dis;
td=td%n;
}
else
{
td=td-dis;
if(td<=0) td=n-((-td)%n);
}
}
return td;
}
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
{
cin>>s[i].dir;
cin>>s[i].name;
s[i].flag=i;
}
for(i=1;i<=m;i++)
{
cin>>dir>>dis;
td=walk(td,dir,dis);
}
if(n!=1)
{
cout<<s[td].name<<endl;
}
else
{
cout<<s[1].name<<endl;
}
return 0;
}