本地正常,已过样例
#include<bits/stdc++.h>
#include<ext/rope>
using namespace std;
using namespace __gnu_cxx;
rope<char>r;
int n,t,x,y,cnt;
char str[10010];
int main(){
scanf("%s%d",str,&n);
r.insert(0,str);
while(n--){
scanf("%d%d",&t,&x);
switch(t){
case 1:
scanf("%d",&y);
r=r.substr(x,y-x+1)+r.substr(0,x)+r.substr(y+1,r.size()-y-1);
break;
case 2:
scanf("%d",&y);
r=r.substr(0,x)+r.substr(y+1,r.size()-y-1)+r.substr(x,y-x+1);
break;
case 3:
printf("%c\n",r[x]);
break;
}
}
}