#include<string.h>
#include<stdlib.h>
#include<stdio.h>
int main()
{
char s[20] = "hello", s4[20] = "world";
char str[100]="\0", s1[20]="\0", s2[20]="\0";
int n;
scanf("%d", &n);
scanf("%s", str,100);
getchar();
for (int i = 0; i < n+1; i++) {
gets(s1);
if (s1[0] == '1') {
for (int m = 0; s1[m] != '\0'; m++) {
s2[m] = s1[m + 2];
}
strcat(str, s2);
printf("%s\n", str);
}
if (s1[0] == '2') {
int a = s1[2] - '0';
int b = s1[4] - '0';
int x = a ;
char strx[100];
strcpy(strx, str);
for (int m = 0; str[m] != '\0'; m++)
str[m] = '\0';
for (int m = 0; m <= b; m++) {
str[m] = strx[x];
x++;
}printf("%s\n", str);
}
if (s1[0] == '3') {
for (int m = 0; s1[m] != '\0'; m++) {
s2[m] = s1[m + 4];
}
int a = s1[2] - '0';
char temp[20]="\0";
int x = 0;
for (int m = a ; str[m] != '\0'; m++) {
temp[x] = str[m];
str[m] = '\0';
x++;
}
strcat(str, s2);
strcat(str, temp);
printf("%s\n", str);
}
if (s1[0] == '4') {
for (int m = 0; s1[m] != '\0'; m++) {
s2[m] = s1[m + 2];
}
char temp[30]="\0";
int len = strlen(s2);
int sign;
for (int m = 0; str[m] != '\0'; m++) {
int x = m;
sign = 1;
for (int j = 0; j < len; j++) {
temp[j] = str[x];
x++;
}
if (strcmp(temp, s2) == 0) {
printf("%d\n", m);
sign = 0;
break;
}
}
if (sign == 1)
printf("-1");
}
}return 0;
}