#include<iostream>
#include<string>
using namespace std;
const int N=110000;
struct ins{
int fang;
int shu;};
ins a[N];
struct toy{
int fang;
string job;};
toy b[N];
void zhuan(int n,int i,int &x){
if(b[x].fang==0){
if(a[i].fang==0) x-=a[i].shu;
else x+=a[i].shu;
}
else{
if(a[i].fang==0) x+=a[i].shu;
else x-=a[i].shu;
}
x%=n;
if(x<0) x+=n;
}
int main(){
int m,n,x=0;
cin>>n>>m;
for(int i=0;i<n;i++)
cin>>b[i].fang>>b[i].job;
for(int i=0;i<m;i++)
cin>>a[i].fang>>a[i].shu;
for(int i=0;i<m;i++)
zhuan(n,i,x);
x%=n;
if(x<0) x+=n;
cout<<b[x].job<<endl;
return 0;
}
/**************************************************************
Problem: 2347
User: admin
Language: C++
Result: Accepted
Time:625 ms
Memory:7232 kb
****************************************************************/