가위바위보 도마뱀 스팍

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

문제

레오는 컴퓨터를 상대로 rock, paper, scissors, lizard, Spock 게임을 한다. 게임은 여러 라운드로 진행되고, 각 라운드에서 두 사람은 rock, paper, scissors, lizard, Spock 다섯 가지 중 하나를 동시에 낸다. 각 선택은 나머지 넷 가운데 정확히 둘을 이긴다.

선택이기는 상대
rockscissors, lizard
paperrock, Spock
scissorspaper, lizard
lizardpaper, Spock
Spockrock, scissors

둘이 같은 것을 내면 그 라운드는 무승부다.

그림 F.1: 게임의 승패 관계. 그림은 VidTheKid가 그렸고 Wikimedia Commons에 있다.

컴퓨터는 선형 합동 생성기로 낼 것을 고른다. 생성기는 알려진 소수 p=127p = 127과 레오가 모르는 두 정수 0a<p0 \le a < p, 0b<p0 \le b < p를 쓴다. 상태 0x<p0 \le x < p도 있는데, 그 처음 값 역시 레오는 모른다. 컴퓨터는 라운드마다 먼저 상태를 갱신하고,

x(ax+b)modp,x \leftarrow (a \cdot x + b) \bmod p,

다음 표에서 낼 것을 읽는다.

xmod5x \bmod 50011223344
선택rockpaperscissorslizardSpock

레오는 처음 nn개 라운드를 지켜보면서 컴퓨터가 낸 것을 모두 적어 두었다. 이제 남은 mm개 라운드를 전부 이기려고 한다. 어떤 선택이든 그것을 이기는 선택은 둘인데, 레오는 언제나 rock, paper, scissors, lizard, Spock 순서에서 앞서는 쪽을 낸다.

레오가 다음 mm개 라운드에서 낼 것을 출력하라.

입력

첫 줄에 정수 nnmm이 주어진다 (1n10001 \le n \le 1000, 1m10001 \le m \le 1000).

다음 nn개 줄에는 rock, paper, scissors, lizard, Spock 중 하나가 순서대로 주어진다. 컴퓨터가 그 라운드에 낸 것이다.

기록된 라운드는 위 형태의 생성기가 만든 것이고, 그다음 mm개 선택을 하나로 결정한다. 기록된 nn개를 그대로 재현하는 (a,b,x)(a, b, x)는 모두 그 뒤의 mm개 선택도 똑같이 만든다.

출력

mm개 줄을 출력한다. ii번째 줄에는 레오가 n+in + i번째 라운드에 낼 것을 적는다. 그 라운드에서 컴퓨터가 낸 것을 이기는 선택이고, 이기는 선택이 둘이면 rock, paper, scissors, lizard, Spock 순서에서 앞서는 쪽이다.