小苯的输入法
题号:NC315480
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小苯正在使用一个有些奇怪的输入框。
\hspace{15pt}这个输入框里一开始是一个空字符串,并且当前的输入端在右侧。接下来会给出一个长度为 n 的操作串 s,其中每个字符都是下面三类之一:
\hspace{23pt}\bullet 如果是小写英文字母,那么就在当前输入端插入这个字母。
\hspace{23pt}\bullet 如果是 \texttt{`!'},那么切换当前输入端。如果原来在左侧,就切换到右侧;如果原来在右侧,就切换到左侧。
\hspace{23pt}\bullet 如果是 \texttt{`-'},那么删除当前输入端的一个字符。如果当前字符串为空,那么这次操作不产生任何效果。

\hspace{15pt}你的任务就是求出所有操作结束后,输入框中的最终字符串,或报告最终串为空。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入一个整数 n\left(1 \leqq n \leqq 2 \times 10^5\right),表示操作串长度。
\hspace{15pt}第二行输入一个长度恰好为 n 的字符串 s,保证其中每个字符要么是小写英文字母,要么是 \texttt{`!'},要么是 \texttt{`-'}

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行。如果最终字符串为空,输出 \texttt{,否则,输出最终字符串。
示例1

输入

复制
5
8
ab!c-de!
3
!-a
5
abc--
10
ab!cd-!e-f
5
aa---

输出

复制
edab
a
a
cabf
Empty

说明

\hspace{15pt}对于第一组数据,操作过程如下:
\hspace{23pt}\bullet 初始为空串,输入端在右侧。
\hspace{23pt}\bullet 输入 \texttt{`a'}\texttt{`b'} 后,字符串变为 \texttt{
\hspace{23pt}\bullet 遇到 \texttt{`!'} 后,输入端切换到左侧。
\hspace{23pt}\bullet 输入 \texttt{`c'} 后,字符串变为 \texttt{
\hspace{23pt}\bullet 遇到 \texttt{`-'} 后,删除左侧的一个字符,字符串变回 \texttt{
\hspace{23pt}\bullet 再输入 \texttt{`d'}\texttt{`e'} 后,字符串变为 \texttt{
\hspace{23pt}\bullet 最后一次 \texttt{`!'} 只会切换输入端,不会改变字符串本身。
\hspace{15pt}因此答案为 \texttt{