Long Long Strings

충분히 긴 문자열에 두 삽입·삭제 연산 열을 적용했을 때 결과가 항상 같은지 판정한다.

어려움8문자열수학구현시뮬레이션아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

긴 DNA 서열을 저장하려고 어떤 회사가 문자 100억 개가 넘는 문자열도 담는 LongLongString 클래스를 만들었다. 이 클래스가 지원하는 연산은 두 가지다.

  • Ins(p, c): 위치 pp에 문자 cc를 넣는다.
  • Del(p): 위치 pp의 문자를 지운다.

DNA 편집 프로그램은 Ins 연산과 Del 연산을 차례로 나열한 것이다. 편집 프로그램 두 개가 같은지 판정하는 프로그램을 작성하라. 여기서 두 프로그램이 같다는 것은 충분히 긴 문자열에 각각 적용했을 때 결과가 항상 같다는 뜻이다. 예를 들면 다음과 같다.

  • Del(1) Del(2)Del(3) Del(1)은 같다.
  • Del(2) Del(1)Del(1) Del(2)는 다르다.
  • 연산이 하나도 없는 프로그램과 Ins(1, X) Del(1)은 같다.
  • Ins(14, B) Ins(14, A)Ins(14, A) Ins(15, B)는 같다.
  • Ins(14, A) Ins(15, B)Ins(14, B) Ins(15, A)는 다르다.

입력

입력은 DNA 편집 프로그램 두 개로 이루어진다. 각 프로그램의 연산 개수는 0개 이상 2,000개 이하이고, 연산 하나가 한 줄을 차지한다. 줄의 첫 글자는 Del 연산이면 D, Ins 연산이면 I, 프로그램의 끝이면 E이다.

D로 시작하는 줄은 D, 공백, 지울 문자의 위치 순서로 이어진다. 위치는 1 이상 101010^{10} 이하의 정수다. 지워진 문자보다 뒤에 있던 문자는 모두 한 칸씩 앞으로 당겨진다.

I로 시작하는 줄은 I, 공백, 새 문자를 넣을 위치, 공백, 넣을 문자 순서로 이어진다. 위치는 1 이상 101010^{10} 이하의 정수이고, 넣을 문자는 알파벳 대문자 하나다. 원래 그 위치에 있던 문자와 그보다 뒤에 있던 문자는 모두 한 칸씩 뒤로 밀린다.

출력

두 프로그램이 같으면 0을, 다르면 1을 한 줄에 출력한다.