RLE 문자열 치환

아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

어떤 프로그래밍 언어의 소스 코드는 대문자 알파벳만으로 이루어지고, 같은 문자가 길게 이어지는 일이 많다. 그래서 아주 큰 소스 코드를 다룰 때는 런 렝스 부호화로 압축해서 보관한다.

런 렝스 부호화(RLE)는 같은 문자가 이어지는 극대 구간마다 그 문자와 구간의 길이를 한 쌍으로 적는 압축 방식이다. 예를 들어 문자열 RRRRLEEE는 RLE로 R4L1E3이 된다.

RLE로 압축된 문자열 AA, BB, CC가 주어진다. AA의 부분 문자열로 BB가 처음 나타나는 곳을 CC로 바꾼 문자열을 RLE로 출력하는 프로그램을 작성하라. AABB가 나타나지 않으면 AA를 그대로 RLE로 출력한다.

입력

입력은 세 줄이다.

A
B
C

세 줄은 RLE로 압축된 문자열 AA, BB, CC를 차례로 나타내고, 각 줄의 형식은 다음과 같다.

c1 l1 c2 l2 ... cn ln $

cic_i (1in1 \le i \le n)는 대문자 알파벳(A부터 Z)이고, lil_i (1in1 \le i \le n, 1li1081 \le l_i \le 10^8)는 문자 cic_i가 이어지는 길이를 나타내는 정수다. 쌍의 개수 nn1n1031 \le n \le 10^3을 만족한다. 문자와 정수는 공백 하나로 구분되고, 줄의 끝에는 종료 기호 $가 온다. 1in11 \le i \le n-1을 만족하는 모든 ii에 대해 cici+1c_i \neq c_{i+1}이 성립한다.

출력

AABB가 나타나면 처음 나타나는 BBCC로 바꾼 문자열을, 나타나지 않으면 AA를 그대로 RLE로 압축해 다음 형식으로 한 줄에 출력한다.

c1 l1 c2 l2 ... cm lm $

1im11 \le i \le m-1에 대해 cici+1c_i \neq c_{i+1}이어야 하고, 1im1 \le i \le m에 대해 li>0l_i > 0이어야 한다.