#include<cstdio>
#include<string>
#include<iostream>
#include<cstring>

using namespace std;

int n;
int c[2][30];
int x[30];
bool used[30];
int sx,bx;

void dfs(int v,int nx){
	if(used[v])return;
	used[v]=true;
	x[v]=nx;
	sx=min(sx,nx);
	bx=max(bx,nx);
	if(c[0][v]!=-1)dfs(c[0][v],nx-1);
	if(c[1][v]!=-1)dfs(c[1][v],nx+1);
}

int main(void){
	scanf("%d",&n);
	for(int kkk=0;kkk<n;kkk++){
		memset(c,-1,sizeof(c));
		memset(used,false,sizeof(used));
		memset(x,0,sizeof(x));
		string s;
		cin >> s;
		int a,b,m=-1;
		for(int i=0;i<s.size();i++){
			if(s[i]>='a' && s[i]<='z'){
				a=b;
				b=s[i]-'a';
				if(m==1)c[0][b]=a,c[1][a]=b;
				if(m==0)c[1][b]=a,c[0][a]=b;
			}
			if(s[i]=='>')m=1;
			if(s[i]=='<')m=0;
		}
		sx=bx=0;
		dfs(s[0]-'a',0);
		for(int i=sx;i<=bx;i++){
			for(int j=0;j<=25;j++){
				if(x[j]==i && used[j])printf("%c",j+'a');
			}
		}
		cout << endl;
	}
	return 0;
}