Editor
한 줄짜리 텍스트 편집기를 흉내 내려고 한다. 이 편집기는 영어 소문자만 다루며, 최대 600,000글자까지 담을 수 있다.
편집기에는 '커서'가 있다. 커서는 문장의 맨 앞(첫 글자의 왼쪽), 맨 뒤(마지막 글자의 오른쪽), 또는 이웃한 두 글자 사이 어디든 올 수 있다. 즉 현재 문자열의 길이가 L이면 커서가 놓일 수 있는 위치는 L+1가지다.
지원하는 명령은 다음 네 가지다.
L: 커서를 왼쪽으로 한 칸 옮긴다. 커서가 이미 맨 앞이면 무시된다.D: 커서를 오른쪽으로 한 칸 옮긴다. 커서가 이미 맨 뒤이면 무시된다.B: 커서 바로 왼쪽의 글자를 지운다. 커서가 맨 앞이면 무시된다. 삭제 후 커서 오른쪽에 있던 내용은 그대로 유지된다.P $: 문자$를 커서 바로 왼쪽에 끼워 넣는다.
편집기에 처음 들어 있는 문자열과 이후 실행할 명령들이 순서대로 주어질 때, 모든 명령을 끝낸 뒤 편집기에 남아 있는 문자열을 구하라. 명령 실행 전 커서는 문장의 맨 뒤에 있다.
입력
첫째 줄에 편집기의 초기 문자열이 주어진다. 이 문자열은 영어 소문자로만 이루어지며, 길이 N은 100,000을 넘지 않는다. 둘째 줄에 명령의 개수 M(1 ≤ M ≤ 500,000)이 주어지고, 이어지는 M개의 줄에 명령이 실행 순서대로 한 줄에 하나씩 주어진다. 명령은 본문에 소개된 네 형태 중 하나로만 주어진다.
출력
모든 명령을 처리한 뒤 편집기에 남아 있는 문자열을 한 줄에 출력한다.
예제 입력 1
abcd
3
P x
L
P y
예제 출력 1
abcdyx
예제 입력 2
abc
9
L
L
L
L
L
P x
L
B
P y
예제 출력 2
yxabc
예제 입력 3
dmih
11
B
B
P x
L
B
B
B
P y
D
D
P z
예제 출력 3
yxz