#include <iostream>
#include <cstdio>
#include<list>
#include<iomanip>
#include<cmath>
#include<queue>
#include <functional>
#include<stdio.h>
#include<assert.h>
#include<stack>
#include<sstream>
#include <cstdlib>
#include<map>
#include<algorithm>
#include<set>
#include<utility>
#include<memory.h>
#include<string>
#include<vector>
#include<numeric>
#include <bitset>
using namespace std;
#define ll long long
#define pb push_back
#define fi(ss) freopen (ss,"r",stdin)
#define fo(ss) freopen (ss,"w",stdout)
#define sz(v) ((ll)((v).size()))
#define all(x) (x).begin(),(x).end()
#define rep(i, v) for(ll i=0;i<sz(v);i++)
#define lp(i,n) for(ll i = 0 ; i < n ; ++i)
#define lpab(i, a, b) for(ll i = a; i <= b; i++)
#define lpba(i, b, a) for(ll i = b; i >= a; i--)
#define hash ___hash
#define next ___next
#define prev ___prev
#define left ___left
#define time __time
typedef pair<ll, ll> pii;
#define F first
#define S second
#define MP make_pair
#define vi vector<ll>
#define vvi vector<vi>
#define vpii vector<pii>
#define mpii map<ll, ll>
#define mpsi map<string, ll>
#define vs vector<string>
#define ld long double
#define vd vector<ld>
#define pie acos(-1)
const ll maxn = 4 * 100005;
#define fastio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define txtio freopen("input.txt","r",stdin); freopen("output.txt","w",stdout);
#define OO 1e18
int main()
{
fastio;
ll t;
cin >> t;
while (t--)
{
string s;
cin >> s;
ll q;
cin >> q;
ll state = 0;
string s1 = "";
string s2 = s1;
while (q--)
{
ll n;
cin >> n;
if (n == 1)
{
state = !state;
continue;
}
ll d;
char c;
cin >> d >> c;
if (d == 1)
{
if (state == 0)
{
s1 += c;
}
else
s2 += c;
}
else
{
if (state == 0)
s2 += c;
else
s1 += c;
}
}
string ans = "";
if (state == 0)
{
reverse(all(s1));
ans += s1;
ans += s;
ans += s2;
}
else
{
reverse(all(s));
reverse(all(s2));
ans += s2;
ans += s;
ans += s1;
}
cout << ans << endl;
}
return 0;
}