#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
****************************************************************/