#include using namespace std; string X,Y; int Yc[1<<17][26]; int RYc[1<<17][26]; int Xc[1<<17][26]; int RXc[1<<17][26]; int cnt[50][27]; int f(int i,int N,int k,bool rev) { if(i==0) { return Xc[N][k]; } if(cnt[i-1][26]>=N) { return f(i-1,N,k,false); } else if(cnt[i-1][26]+Y.size()>=N) { int ret=cnt[i-1][k]; N-=cnt[i-1][26]; ret+=(rev?RYc:Yc)[N][k]; return ret; } else { int ret=cnt[i-1][k]+Yc[Y.size()][k]; N-=cnt[i-1][26]+Y.size(); ret+=f(i-1,N,k,!rev); return ret; } } main() { cin>>X>>Y; for(int i=0;i=(int)1e9)break; mx++; } int Q;cin>>Q; for(;Q--;) { int l,r;char c; cin>>l>>r>>c; int op=c-'a'; cout<