#include<iostream>
#include<cstring>
using namespace std;
int main(){
string a;cin>>a;
int n;cin>>n;
while(n--){
string copp={};
int x,y;cin>>x>>y;
for(int i=x-1;i<=y-1;i++){
copp+=a[i];
}
a.erase(x-1,copp.size());
string tmp1,tmp2;cin>>tmp1>>tmp2;
string tmp=tmp1+tmp2;
int loc=a.find(tmp);
if(loc==-1)a+=copp;
else
a.insert(loc+tmp1.size(),copp);
}
cout<<a<<endl;
return 0;
}
注意erase的用法:erase(数组下标,删除数组大小)
find(数组),返回查找数组的起始元素下标
insert(插入起始下标,插入数组元素)