import java.util.Scanner;import java.io.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(new BufferedInputStream(System.in));PrintWriter out = new PrintWriter(System.out);
int n = in.nextInt();
int k = in.nextInt();
String s = " " + in.next(); // 让索引从1开始,长度n+1
char[] ch = s.toCharArray();
int l = 0, r = 0;
// 查找'I'的位置
for (int i = 1; i <= n; i++) {
if (ch[i] == 'I') {
l = i - 1; // 光标左侧位置
r = i + 1; // 光标右侧位置
break;
}
}
String op;
while (k-- > 0) {
op = in.next();
switch (op) {
case "backspace":
// 退格:光标左侧有字符时才操作
if (l >= 1) {
if (ch[l] == '(' && r <= n && ch[r] == ')') {
l--;
r++;
} else {
l--;
}
}
break;
case "delete":
// 删除:光标右侧有字符时才操作
if (r <= n) {
r++;
}
break;
}
}
//r = n+1;l = 0;
// 看似仍然会越界和把下标0算进去。但是实际上substring这个函数不会报错。而是返回空串
String leftPart = s.substring(1, l + 1);
String rightPart = s.substring(r, n + 1);
out.println(leftPart + 'I' + rightPart);
out.flush();
}
}



京公网安备 11010502036488号