#include<iostream>
#include<math.h>
#include<string>
using namespace std;
int I = 0, J = 0,K;
int main()
{
int n, m;
cin >> n >> m;
K = n;
int* p1 = new int[n];
string* p2 = new string[n];
int* *p3 = new int*[m];
for (int i = 0; i < m; i++)
p3[i] =new int[2];
for (int i =n-1; i>=0; i--)
{
cin >> p1[i]>>p2[i];
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < 2; j++)
{
cin >> p3[i][j];
}
}
I = n - 1;
J =n-1;
void TheSorting(int* p1, string * p2, int** p3, int much);
for (int i = 0; i < m; i++)
{
TheSorting(p1, p2, p3, i);
}
cout << p2[J];
delete[]p1, p2,p3;
return 0;
}
void TheSorting(int *p1,string *p2,int **p3,int much)
{
if ((p1[I] == 0 && p3[much][0] == 0) || (p1[I] == 1 && p3[much][0] == 1))
{
if (J + p3[much][1] >= K)
{
for (int i = 0; i < p3[much][1]; i++)
{
J++;
if (J == K)
J = 0;
}
}
else
J =J+p3[much][1];
}
else
{
if (J - p3[much][1] >= 0)
J =J-p3[much][1];
else
{
for (int i = 0; i < p3[much][1]; i++)
{
J--;
if (J < 0)
J = K-1;
}
}
}
I = J;
}