#include <bits/stdc++.h>
using namespace std;
int n,t;
string s,sc;
int a,b;
int main()
{
cin>>n>>s;
int lens=s.length();
for (int i=1;i<=n;i++)
{
cin>>t;
switch(t)
{
case 1:
{
cin>>sc;
int del=sc.length();
for (int i=lens;i<=lens+del-1;i++)
s[i]=sc[i-lens];
lens+=del;
for (int j=0;j<=lens-1;j++) cout<<s[j];
cout<<endl;
break;
}
case 2:
{
cin>>a>>b;
for (int j=a;j<=a+b-1;j++)
s[j-a]=s[j];
lens=b;
for (int j=0;j<=lens-1;j++) cout<<s[j];
cout<<endl;
break;
}
case 3:
{
cin>>a>>sc;
int del=sc.length();
for (int j=lens-1;j>=a;j--)
s[del+j]=s[j];
for (int j=a;j<=a+del-1;j++)
s[j]=sc[j-a];
lens+=del;
for (int j=0;j<=lens-1;j++) cout<<s[j];
cout<<endl;
break;
}
case 4:
{
cin>>sc;
int stt=-1;
int lenc=sc.length();
if (lenc<=lens)
{
for (int j=0;j<=lens-1;j++)
if (s[j]==sc[0])
{
bool pd=1;
for (int k=j;k<=lenc+j-1;k++)
if (s[k]!=sc[k-j])
{
pd=0;
break;
}
if (pd) {stt=j;break;}
}
cout<<stt<<endl;
}
break;
}
}
}
return 0;
}