#include <bits/stdc++.h>
#define nl "\n"

using namespace std;

int main(){
  #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
  #endif
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);


  int len,ope;
  cin >> len >> ope;
  string X;
  cin >> X;
  for(int i=0 ; i<=ope ; i++){
    string que;
    cin >> que;

    if(que == "substr"){
      int pos1,pos2;
      cin >> pos1 >> pos2;
      cout << X.substr(pos1-1,pos2)<<nl;
    } else if(que == "sort"){

      int pos1,pos2;
      cin >> pos1 >> pos2;
      sort(X.begin()+pos1-1,X.begin()+pos2);
    } else if(que == "pop_back"){
      X.pop_back();
    } else if(que == "back"){
      cout << X.back()<<nl;
    } else if(que == "reverse"){
      int pos1,pos2;
      cin >> pos1 >> pos2;
      pos1 -=1;
      reverse(X.begin()+pos1,X.begin()+pos2);
    } else if(que == "front"){
      cout << X.front()<<nl;
    } else if(que == "push_back"){
      char ch;
      cin >> ch;
      X.push_back(ch);
    } else if(que == "print"){
      int pos;
      cin >> pos;
      cout << X[pos-1] <<nl;
    }

  }


  return 0 ;
} 
