#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int N, Q;
string S;
cin >> N >> Q >> S;
for (int i = 0;i < Q;i++) {
string s;
cin >> s;
if (s == "pop_back") {
S.pop_back();
N--;
}
else if (s == "front") {
cout << S.front() << endl;
}
else if (s == "back") {
cout << S.back() << endl;
}
else if (s == "sort") {
int l, r;
cin >> l >> r;
sort(S.begin()+(l-1), S.begin() + r);
}
else if (s == "reverse") {
int l, r;
cin >> l >> r;
reverse(S.begin() + (l - 1), S.begin() + r);
}
else if (s == "print") {
int p;
cin >> p;
cout << S[p - 1] << endl;
}
else if (s == "substr") {
int l, r;
cin >> l >> r;
cout << S.substr((l - 1), r - l + 1) << endl;
}
else if (s == "push_back") {
char X;
cin >> X;
S.push_back(X);
N++;
}
}
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGludCBOLCBROwogICAgc3RyaW5nIFM7CiAgICBjaW4gPj4gTiA+PiBRID4+IFM7CiAgICBmb3IgKGludCBpID0gMDtpIDwgUTtpKyspIHsKICAgICAgICBzdHJpbmcgczsKICAgICAgICBjaW4gPj4gczsKICAgICAgICBpZiAocyA9PSAicG9wX2JhY2siKSB7CiAgICAgICAgICAgIFMucG9wX2JhY2soKTsKICAgICAgICAgICAgTi0tOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChzID09ICJmcm9udCIpIHsKICAgICAgICAgICAgY291dCA8PCBTLmZyb250KCkgPDwgZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAocyA9PSAiYmFjayIpIHsKICAgICAgICAgICAgY291dCA8PCBTLmJhY2soKSA8PCBlbmRsOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChzID09ICJzb3J0IikgewogICAgICAgICAgICBpbnQgbCwgcjsKICAgICAgICAgICAgY2luID4+IGwgPj4gcjsKICAgICAgICAgICAgc29ydChTLmJlZ2luKCkrKGwtMSksIFMuYmVnaW4oKSArIHIpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChzID09ICJyZXZlcnNlIikgewogICAgICAgICAgICBpbnQgbCwgcjsKICAgICAgICAgICAgY2luID4+IGwgPj4gcjsKICAgICAgICAgICAgcmV2ZXJzZShTLmJlZ2luKCkgKyAobCAtIDEpLCBTLmJlZ2luKCkgKyByKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAocyA9PSAicHJpbnQiKSB7CiAgICAgICAgICAgIGludCBwOwogICAgICAgICAgICBjaW4gPj4gcDsKICAgICAgICAgICAgY291dCA8PCBTW3AgLSAxXSA8PCBlbmRsOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChzID09ICJzdWJzdHIiKSB7CiAgICAgICAgICAgIGludCBsLCByOwogICAgICAgICAgICBjaW4gPj4gbCA+PiByOwogICAgICAgICAgICBjb3V0IDw8IFMuc3Vic3RyKChsIC0gMSksIHIgLSBsICsgMSkgPDwgZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAocyA9PSAicHVzaF9iYWNrIikgewogICAgICAgICAgICBjaGFyIFg7CiAgICAgICAgICAgIGNpbiA+PiBYOwogICAgICAgICAgICBTLnB1c2hfYmFjayhYKTsKICAgICAgICAgICAgTisrOwogICAgICAgIH0KICAgIH0KfQ==