#include<iostream>
#include<iomanip>
#include<cmath>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
using namespace std;
void a1(char s1[]){
char sss[101];
cin>>sss;
strcat(s1,sss);
cout<<s1<<endl;
}
void a2(char s1[]){
char s2[101];
int n1,n2;
scanf("%d%d",&n1,&n2);
for(int i=n1;i<n1+n2;i++){
s2[i-n1]=s1[i];
}
s2[n1+n2]='\0';
strcpy(s1,s2);
cout<<s1<<endl;
}
void a3(char s1[]){
char sss[101],sss1[101];
int n1;
int size=strlen(s1);
scanf("%d",&n1);
for(int i=n1+1;i<=size;i++){
sss1[i-n1-1]=s1[i];
}
s1[n1]='\0';
cin>>sss;
strcat(s1,sss);
strcat(s1,sss1);
cout<<s1<<endl;
}
void a4(char s1[]){
string sss,sss1;
cin>>sss;
sss1=s1;
int ans=sss1.find(sss);
cout<<ans<<endl;
}
int main(){
int n;
scanf("%d",&n);
char s[101]={};
cin>>s;
int lei;
for(int i=1;i<=n;i++){
scanf("%d",&lei);
switch(lei){
case 1:
a1(s);
break;
case 2:
a2(s);
break;
case 3:
a3(s);
break;
default:
a4(s);
}
}
return 0;
}