#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long int
#define vv vector<long long>
#define mpp map<long long,long long>
#define ss set<long long>
#define vp vector<pair<long long, long long>>
#define MOD 1000000007
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define all_v v.begin(),v.end()
#define all_a a.begin(),a.end()
#define all_n for(int i=0;i<n;i++)
void requisite(){
ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
}
int main() {
requisite();
ll t;
cin>>t;
while (t--){
string s;
cin>>s;
ll q;
cin>>q;
bool rev=false;
deque<char> beg;
deque<char> end;
for (int i = 0; i < q; ++i) {
char c;
ll a,b;
cin>>a;
if (a==1){
rev=(!rev);
}
else{
cin>>b>>c;
if (b==1 and !rev){
beg.push_front(c);
}
else if (b==1 and rev){
end.push_back(c);
}
else if (b==2 and !rev){
end.push_back(c);
}
else{
beg.push_front(c);
}
}
// cout<<beg<<" "<<end<<endl;
}
if (rev){
reverse(s.begin(), s.end());
reverse(beg.begin(),beg.end());
reverse(end.begin(),end.end());\
swap(beg,end);
for(auto it:beg)cout<<it;
cout<<s;
for(auto it:end)cout<<it;
cout<<endl;
}
else{
for(auto it:beg)cout<<it;
cout<<s;
for(auto it:end)cout<<it;
cout<<endl;
}
}
return 0;
}