WA on #4和#8
#include<bits/stdc++.h>
using namespace std;
inline int read(){
int s=0;
int w=1;
char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar())
if(ch=='-')
w=-1;
for(;ch>='0'&&ch<='9';ch=getchar())
s=s*10+ch-'0';
return s*w;
}
struct node{
string name;
int op;
}a[100086];
int n,m;
int main(){
n=read();
m=read();
for(int i=1;i<=n;i++){
cin>>a[i].op;
cin>>a[i].name;
}
int point=1;
while(m--){
int lr=read();
int stp=read();
lr=(lr+a[point].op)&1;
if(!lr)
point=(point+n-stp)%n;
else
point=(point+stp)%n;
}
cout<<a[point].name;
return 0;
}