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();
}

}