#include<iostream>
using namespace std;
int main()
{
int q, a, b;
string str, str2;
cin >> q >> str;
string outstr[q+1];
int aa[q];
bool aapd[q+1], outstrpd[q+1];
for(int i=1; i<=q; i++)
{
cin >> a;
aapd[i] = false;
outstrpd[i] = false;
if(a == 1)
{
cin >> str2;
str += str2;
outstr[i] = str;
outstrpd[i] = true;
}
else if(a == 2)
{
cin >> a >> b;
str = str.substr(a, b);
outstr[i] = str;
outstrpd[i] = true;
}
else if(a == 3)
{
cin >> a >> str2;
str.insert(a, str2);
outstr[i] = str;
outstrpd[i] = true;
}
else if(a == 4)
{
cin >> str2;
if(str.find(str2)==string::npos)aa[i]=-1;
else{aa[i]=str.find(str2);}
aapd[i] = true;
}
}
for(int i=1; i<=q; i++)
{
if(outstrpd[i]==true)cout<<outstr[i]<<endl;
if(aapd[i]==true)cout<<aa[i]<<endl;
}
}