import java.util.ArrayDeque import java.util.StringTokenizer fun main() { val br = System.`in`.bufferedReader() val t = br.readLine().toInt() repeat(t) { val command = br.readLine() val n = br.readLine().toInt() val arrStr = br.readLine() val arr = StringTokenizer(arrStr.substring(1, arrStr.length - 1), ",") val deque = ArrayDeque() var error = false var reversed = false loop@ for (c in command) { when (c) { 'R' -> reversed = !reversed 'D' -> { if (deque.isEmpty()) { error = true break@loop } if (reversed) { deque.removeLast() } else { deque.removeFirst() } } } } if (error) { println("error") } else { val sb = StringBuilder() sb.append("[") if (reversed) { for (i in 0 until deque.size) { sb.append("${deque.removeLast()},") } } else { for (i in deque.size - 1 downTo 0) { sb.append("${deque.removeFirst()},") } } sb.append("]") println(sb) } } }