#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
vector<string> ss;
int q, j, a, b;
string s, str;
cin >> q; cin >> s;
for (int i = 0; i < q; i++)
{
char c = '0';
cin >> j;
switch (j) {
case 1:cin >> str; s += str;ss.push_back(s); break;
case 2:cin >> a >> b; s = s.substr(a, b);ss.push_back(s); break;
case 3:cin >> a >> str; s.insert(a, str);ss.push_back(s); break;
case 4:cin >> str; if (s.find(str) == string::npos) ss.push_back("-1");
else { c += (int)s.find(str); ss.push_back(string(1, c)); }break;
}
}
for (int i = 0; i < q; i++)
cout << ss[i] << endl;
return 0;
}