#include<iostream>
using namespace std;
struct node{
int head;
string name;
}a[1000010];
int n,m,x,y;
int ans=1;
void fx(){
while(ans<=0) ans+=n;
while(ans>n) ans-=n;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;++i){
cin>>a[i].head>>a[i].name;
}
for(int i=1;i<=m;++i){
cin>>x>>y;
if((a[ans].head==0 and x==0) or(a[ans].head==1 and x==1)) {
ans-=y; while(ans<=0) ans+=n;
}
if((a[ans].head==0 and x==1) or (a[ans].head==1 and x==0) ){
ans+=y;while(ans>n) ans-=n;
}
}
cout<<a[ans].name<<endl;;
return 0;
}
![]()
就很好看