#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int q,doo,a,b,c=0,d=0,e=0,f=0,g=0,h=0,len,len2,len3,len4,lena,lenb,lenc;
cin>>q;
char str[10000]={};
cin>>str;
for(int x=1;x<=q;x++)
{
cin>>doo;
if(doo==1)
{
char str2[10000]={};
cin>>str2;
len=strlen(str);
len2=strlen(str2);
for(int xx=1;xx<=len2;xx++)
{
str[len]=str2[c];
c++;
len++;
}
cout<<str<<endl;
}
else if(doo==2)
{
cin>>a>>b;
for(int aa=1;aa<=b;aa++)
{
str[d]=str[a];
a++;
d++;
}
len3=strlen(str);
for(int aaa=1;aaa<=len3+1;aaa++)
{
str[b]=0;
}
cout<<str<<endl;
}
else if(doo==3)
{
char str3[10000]={};
char str4[10000]={};
char str5[10000]={};
cin>>e>>str3;
len4=strlen(str);
f=len4-e+1;
for(int yy=e;yy<=len4;yy++)
{
str4[g]=str[f];
g++;
f++;
}
g=0;
f=len4-e+1;
for(int yyy=0;yyy<f;yyy++)
{
str5[g]=str[yyy];
g++;
}
lenb=strlen(str3);
lenc=strlen(str4);
lena=strlen(str5);
for(int yyyy=0;yyyy<lena;yyyy++)
{
str[h]=str5[yyyy];
h++;
}
for(int z=0;z<lenb;z++)
{
str[h]=str3[z];
h++;
}
for(int zz=0;zz<lenc;zz++)
{
str[h]=str4[zz];
h++;
}
cout<<str<<endl;
}
else if(doo==4)
{
char str6[100001]={};
int i,j,ans=-1;
bool flag;
cin>>str6;
for(i=0;i<strlen(str)-strlen(str6)+1;i++){
j=0;
flag=false;
while(str[i]==str6[j] && j<strlen(str6)){
flag=true;
i++;
j++;
}
if(j==strlen(str6)){
ans=i-j;
break;
}
if(flag)
{
i--;
}
}
cout<<ans<<endl;
}
}
}