#include<iostream>
#include<string>
using namespace std;
int main(){
int q;
cin>>q;
cin.ignore();
string str1={},str2={},str3={},output={};
getline(cin,str1);
for(int i=0;i<q;i++)
{
int caozuo;
cin>>caozuo;
cin.ignore();
if(caozuo==1)
{
getline(cin,str2);
str1=str1+str2;
output+=str1+"\n";
}else if(caozuo==2)
{
int a,b;
cin>>a>>b;
str1=str1.substr(a,b);
output+=str1+"\n";
}else if(caozuo==3){
int c;
string strcharu;
cin>>c;
cin>>strcharu;
str2=str1.substr(0,c);
str3=str1.substr(c,str1.length()-c);
str1=str2+strcharu+str3;
output+=str1+"\n";
}else if(caozuo==4){
string word;
cin>>word;
size_t position =str1.find(word);
if(position!=string::npos)
{
output+=to_string(position)+"\n";
}else{
output+="-1\n";
}
}
}
cout<<output;
return 0;
}