记一下string.erase(index, len)
he
string.insert(index, string2)
ti
#include<bits/stdc++.h>
using namespace std;
#define mac max
struct tree{
int zhi;
int d;
}tr[1034];
int n, m;
int i, t;
int cnt;
int j, k, len;
int b[15];
string s, s2, s3;
map<int, int>mp;
vector<int>ve[15];
int main()
{
while(cin>>s){
cin>>n;
for(int j = 0; j < n; j ++ ){
cin>>s3;
k = s3[0] - '0', i = s3[1] - '0', len = s3[2] - '0';
//cout<<j<<' '<<k<<' '<<len<<endl;
if(k == 1){
s2 = s3.substr(3, s3.length() - 3);
//cout<<s2<<endl;
s.erase(i, len);
s.insert(i, s2);
cout<<s<<endl;
}
else if(k == 0){
int l = i, r = i + len - 1;
//cout<<l<<' '<<r<<endl;
while(l < r){
swap(s[l], s[r]);
l ++ ;
r -- ;
}
cout<<s<<endl;
}
}
}
return 0;
}