#include using namespace std; typedef signed long long ll; #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x<(to);x++) #define FORR(x,arr) for(auto& x:arr) #define FORR2(x,y,arr) for(auto& [x,y]:arr) #define ALL(a) (a.begin()),(a.end()) #define ZERO(a) memset(a,0,sizeof(a)) #define MINUS(a) memset(a,0xff,sizeof(a)) template bool chmax(T &a, const T &b) { if(a bool chmin(T &a, const T &b) { if(a>b){a=b;return 1;}return 0;} //------------------------------------------------------- int N,Q; string S; ll W[100]; __int128 A[101][202020]; char hoge(char v,ll X,int T) { if(T==0||X==1) { return v; } if(v=='w') { if(X<=W[T-1]) return hoge('w',X,T-1); X-=W[T-1]; if(X<=W[T-1]) return hoge('a',X,T-1); X-=W[T-1]; return "rong"[X-1]; } else if(v=='a') { if(X<=W[T-1]) return hoge('a',X,T-1); X-=W[T-1]; if(X==1) return 'n'; X--; if(X==1) return 's'; X--; if(X<=W[T-1]) return hoge('w',X,T-1); X-=W[T-1]; if(X==1) return 'e'; X--; if(X==1) return 'r'; X--; assert(0); } else { assert(0); } return 'a'; } void solve() { int i,j,k,l,r,x,y; string s; ll a=1,b=0; W[0]=1; FOR(i,60) { W[i+1]=2*W[i]+4; } cin>>N>>Q; cin>>S; FOR(i,60) { FOR(j,N) { A[i][j+1]=A[i][j]; if(S[j]=='w'||S[j]=='a') A[i][j+1]+=W[i]; else A[i][j+1]++; } } while(Q--) { ll T,X; cin>>T>>X; if(T>=59) T=59; x=lower_bound(A[T],A[T]+N,X)-A[T]; cout<