P1563
#include<bits/stdc++.h>
using namespace std;
const int MAXN=100001;
int chxi[MAXN];
char names[MAXN][11];
int main() {
int n,m,i,j,s,c,ans=1;
bool f1=true;
scanf("%d%d",&n,&m);
int p;
for(i=1; i<=n-1; ++i) {
if(f1) {
scanf("%d",&chxi[i]);
}
p=0;
for(j=1; j<=10; ++j) {
cin>>names[i][j];
if((names[i][j]=='0')||(names[i][j]=='1')) {
if(names[i][j]=='0') {
chxi[i+1]=0;
f1=false;
break;
} else {
chxi[i+1]=1;
f1=false;
break;
}
} else {
++p;
f1=true;
}
}
names[i][0]=p;
}
if(f1) {
scanf("%d",&chxi[n]);
}
p=0;
for(j=1; j<=10; ++j) {
cin>>names[n][j];
if((names[n][j]=='0')||(names[n][j]=='1')) {
if(names[n][j]=='0') {
s=0;
f1=false;
break;
} else {
s=1;
f1=false;
break;
}
} else {
++p;
}
}
names[n][0]=p;
for(i=1; i<=m; ++i) {
if(f1) {
scanf("%d",&s);
}
f1=true;
scanf("%d",&c);
if(chxi[ans]==0) {
s==0?ans-=c:ans+=c;
if(ans<=0) {
ans+=n;
}
if(ans>n) {
ans-=n;
}
} else {
s==0?ans+=c:ans-=c;
if(ans<=0) {
ans+=n;
}
if(ans>n) {
ans-=n;
}
}
}
for(i=1; i<=names[ans][0]; ++i) {
cout<<names[ans][i];
}
return 0;
}