代码:
#include<bits/stdc++.h>
using namespace std;
int n,x;string op,t;char s[1000005];int q[1000005];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t>>n;
int len=t.size();
for(register int i=0;i<len;i++){
s[i]=t[i];
}
for(register int i=0;i<n;i++){
cin>>op;
if(op=="rev"){
q[i]=-1;
}
else if(op=="<"){
cin>>x;
x=x%len;q[i]=x;
}
else if(op==">"){
cin>>x;
x=len-x%len;q[i]=x;
}
}
int cnt=0,cnt2=0,flg=1;
for(register int i=0;i<n;i++){
if(q[i]==-1)
cnt++,flg=-flg;
else {
cnt2+=flg*q[i];
if(cnt2<0){
cnt2+=len*(int)ceil(-(double)cnt2/(double)len);
}
cnt2%=len;
}
}
rotate(s,s+cnt2,s+len);
//cout<<"upd "<<cnt<<' '<<cnt2<<endl;
if(cnt2&1){
reverse(s,s+len);
}
for(register int i=0;i<len;i++){
cout<<s[i];
}
return 0;
}