#include<bits/stdc++.h>
using namespace std;
inline int read(){
int X=0;
bool sign=0;
char ch=0;
while(ch<'0'||ch>'9'){
sign|=(ch=='-');
ch=getchar();
}
while(ch>='0'&&ch<='9'){
X=(X<<3)+(X<<1)+(ch^48);
ch=getchar();
}
return sign?-X:X;
}
inline void print(int x){
if(x<0)putchar('-'),x=-x;
if(x>9)print(x/10);
putchar(x%10+'0');
}
struct toy{
int face;
string name;
}t[100010];
int n,m,m1,m2,ans=1;
int main(){
n=read();
m=read();
for(int i=1;i<=n;i++){
cin>>t[i].face>>t[i].name;
}
for(int i=1;i<=m;i++){
cin>>m1>>m2;
if(t[ans].face==0&&m1==0)ans=(ans+n-m2)%n;
else if(t[ans].face==1&&m1==1)ans=(ans+n-m2)%n;
else if(t[ans].face==1&&m1==0)ans=(ans+m2)%n;
else if(t[ans].face==0&&m1==1)ans=(ans+m2)%n;
}
cout<<t[ans].name;
return 0;
}