만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

문자열 게임

시간 제한1초메모리 제한512 MB

요약
문자열 W와 S, 그리고 N개의 명령이 주어집니다. 각 명령은 S에서 W의 가장 왼쪽 또는 오른쪽 등장을 지우며, 성공한 명령 수와 최종 S를 구합니다.
난이도

보통10점 중 5점

유형
문자열, 문자열 매칭, 시뮬레이션
정답자
아직 제출이 없습니다

문제

문자열 게임은 다음과 같이 진행된다.

  1. 알파벳 소문자로 이루어진 문자열 W가 주어진다.
  2. 알파벳 소문자로 이루어진 문자열 S가 주어진다.
  3. 문자열 S에서 문자열 W를 모두 제거하는 사람이 이긴다.

병서는 S에서 W를 모두 제거하는 프로그램을 만들려고 한다.

병서가 구상한 프로그램은 아래 명령 중 하나를 골라 수행하는 작업을 N번 반복한다.

  • L: S의 왼쪽에서부터 처음으로 등장하는 W를 찾아, S에서 그 부분 문자열을 제거한다.
  • R: S의 오른쪽에서부터 처음으로 등장하는 W를 찾아, S에서 그 부분 문자열을 제거한다.

명령을 수행할 때 S에 W가 없으면 명령은 실패하고 아무 일도 일어나지 않는다.

N개의 명령에 따라 S에서 W를 제거하는 프로그램을 만들어 보자!

입력

첫 번째 줄과 두 번째 줄에 길이가 1 이상인 문자열 W와 문자열 S가 각각 주어진다. W와 S는 알파벳 소문자로 이루어져 있다.

W는 최대 10자, S는 최대 300,000자이다.

세 번째 줄에 명령의 개수 N이 주어진다. (1 ≤ N ≤ 30,000)

네 번째 줄부터 N개의 줄에 명령이 주어진다.

출력

첫 번째 줄에 성공한 명령의 개수를, 두 번째 줄에 프로그램을 실행한 후의 문자열 S를 출력한다. 프로그램을 실행한 후 문자열 S가 비어 있는 경우는 없다.

세 번째 줄에 프로그램을 실행한 후 S에 W가 남아 있으면 You Lose!를, W를 모두 제거했으면 Perfect!를 출력한다.

예제3

  1. 예제 1

    입력
    zoac
    aliczoacethrozoacughthelookingzoacglaszoacs
    4
    L
    R
    L
    L
    
    예상 출력
    4
    alicethroughthelookingglass
    Perfect!
    
  2. 예제 2

    입력
    poke
    superaquatpoppokeokpokeekeornado
    6
    L
    L
    L
    R
    R
    R
    
    예상 출력
    4
    superaquatornado
    Perfect!
    
  3. 예제 3

    입력
    erica
    irederiericacavelvetu
    1
    L
    
    예상 출력
    1
    iredericavelvetu
    You Lose!