#include <iostream>
#include <cstring>
#include <string>
using namespace std;

enum{
	FORWARD,
	BACK,
};

class Train
{
public:
	Train( char first ) : m_conductor( 0 )
	{
		memset( m_train, 0, sizeof(m_train) );
		m_train[ FORWARD ][ 0 ] = first;
	}
	~Train(){}

	void move( int d, char mark ){
		switch( d ){
			case FORWARD:
				++m_conductor;
				break;
			case BACK:
				--m_conductor;
				break;
		}

		int direction, conductor;
		if( m_conductor < 0 ){
			direction = BACK;
			conductor = -( m_conductor + 1 );
		}else{
			direction = FORWARD;
			conductor = m_conductor;
		}
		m_train[ direction ][ conductor ] = mark;
	}

	void output()
	{
		for( int i = 25; i >= 0; --i ){
			char c;
			if( c = m_train[ FORWARD ][ i ] ){
				cout << c;
			}
		}
		for( int i = 0; i < 26; ++i ){
			char c;
			if( !( c = m_train[ BACK ][ i ] ) ){
				break;
			}
			cout << c;
		}
		cout << endl;
	}

private:
	char m_train[ 2 ][ 26 ];
	int m_conductor;
};

int main()
{
	int n;
	while( cin >> n ){
		for( int i = 0; i < n; ++i ){
			string s;
			cin >> s;

			Train train( s[ 0 ] );

			int ptr = 1, size = s.size();

			int d = FORWARD;
			while( ptr < size ){
				d = s[ ptr++ ] == '<' ? FORWARD : BACK;
				ptr++;
				char c = s[ ptr++ ];
				train.move( d, c );
			}
			train.output();
		}
	}
	return 0;
}