from collections import deque
import sys
T = int(input())
for _ in range(T):
p = sys.stdin.readline().strip()
n = int(sys.stdin.readline())
array = sys.stdin.readline().strip()
queue = deque(array[1:-1].split(','))
cnt = 0
Is = True
if n == 0:
queue = deque()
for i in p:
if i == 'R':
cnt += 1
else:
if queue:
if cnt % 2 != 0:
queue.pop()
else:
queue.popleft()
else:
Is = False
break
if not Is:
print('error')
else:
if cnt % 2 != 0:
queue.reverse()
print('['+(',').join(queue)+']')
else:
print('['+(',').join(queue)+']')
R 이 짝수번 나올 경우 배열은 본래의 순서를 지닌다는 것을 인지하고 다음 두 경우에 대해서 고려해주면 된다.
1. D가 나왔을 경우 지금까지 R이 홀수 번만큼 나왔다면 뒤집을 것을 고려하여 맨 뒤의 요소를 제거해야 한다. 짝수 번일 경우 본래의 순서를 지니기에 가장 앞에 요소를 제거하면 된다.
2. 본 문제에서 R은 그때마다 처리하는 것이 아닌 마지막에 한번 지금까지 나온 R의 횟수를 고려하여 처리해준다. 만약 R이 홀수 번만큼 나왔을 경우 reverse()를 이용해 뒤집어준 후 출력하면 된다. 짝수 번일 경우 본래의 배열 그대로 출력하면 된다.