#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char str[1000];
void cz1()
{
char c[100];
scanf("%s",c);
strcat(str,c);
}
void cz2()
{
int x,y,i,j=0;
scanf("%d %d",&x,&y);
for(i=x;i<=x+y;i++)
{
str[j++]=str[i];
}
str[j]='\0';
}
void cz3()
{
int a,i,j=0;
char c[100],d[100];
scanf("%d",&a);
getchar();
scanf("%s",c);
for(i=a;i<strlen(str);i++)
{
d[j++]=str[i];
}
str[a]='\0';
strcat(str,c);
strcat(str,d);
}
int cz4()
{
int a;
char *p;
char c[100];
scanf("%s",c);
p=strstr(str,c);
if(p!=NULL)
return p-str;
else
return -1;
}
int main()
{
int n,a,i;
scanf("%d",&n);
getchar();
scanf("%s",str);
for(i=0;i<n;i++)
{
scanf("%d",&a);
if(a==1)
{
cz1();
printf("%s\n",str);
}
else if(a==2)
{
cz2();
printf("%s\n",str);
}
else if(a==3)
{
cz3();
printf("%s\n",str);
}
else
printf("%d\n",cz4());
}
return 0;
}