이상한 판 뒤집기 게임

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

문제

이 문제는 인터랙티브 문제이다.

KSA의 알고리즘 문제 해결 연구회 Automata의 두 연구회원 everyonehere2023 KSA Automata Winter Contest를 기념하여 이상한 판 뒤집기 게임을 한다. 이상한 판 뒤집기 게임의 규칙은 아래와 같다.

NN개의 판이 바닥에 원형으로 배열되어 있다. 판의 번호는 시계 반대 방향으로 순서대로 0,1,,N10, 1, \cdots, N-1이다. 각각의 판에 대해 한 면은 빨간색, 다른 한 면은 파란색이다. 바닥에는 NN개의 버튼 또한 놓여있는데, ii번 버튼은 ii번 판과 (i+1)modN(i+1) \bmod N번 판 사이에 있다. (0i\<N)(0\le i\<N)

초기 상태에 각각의 판이 어떤 면이 보이도록 놓여있는지와 누구의 차례가 먼저인지 주어진다. 두 플레이어가 번갈아 가며 차례를 가지며, 자신의 차례가 되면 아래 두 가지 동작 중 하나를 선택해서 할 수 있다.

  • kk번 버튼을 누른다. 이 경우 아무 판도 뒤집지 않는다. 이 경우 c=0c=0이다.
  • kk번 버튼을 누르고, kk번 판과 (k+1)modN(k+1) \bmod N번 판을 동시에 뒤집는다. 이 경우 c=1c=1이다.

단, 한번 눌린 버튼은 비활성화되어 다시 누를 수 없다.

모든 버튼이 비활성화되는 순간 게임이 종료된다. 이때 빨간색 면이 보이는 판의 개수와 파란색 면이 보이는 판의 개수가 같으면 everyone이 이기고, 다르면 here가 이긴다.

everyonehere는 당신에게 도움을 요청했다. 그러나 동시에 둘 모두를 도와줄 수는 없으므로, 당신은 둘 중 한 사람을 골라 그 사람이 이기는 방법을 알려줘야 한다.

이 게임은 임의의 정수 N2N\ge2에 대하여 잘 정의되지만, 출제자는 여러분이 2023 KSA Automata Winter Contest에서 더 높은 점수를 받을 수 있도록 NN44의 배수라는 제약 조건을 추가하였다.

제한

  • 4N10004\le N\le 1000; NN44의 배수
  • M\in\\{everyone,,here\\}
  • 모든 0i\<N0\le i\<N에 대하여 S\_i\in\\{R,,B\\}
  • T\in\\{everyone,,here\\}
  • c0,1c\in\\{0,1\\}
  • 0k\<N0\le k\<N
  • 각 시행의 kk의 값은 모두 서로 다름

힌트

당신의 프로그램은 무언가를 출력한 후 즉시 출력 버퍼를 비워야 한다. 다음은 언어별 출력 버퍼를 비우는 방법이다.

  • C — fflush(stdout)
  • C++ — std::cout.flush()
  • Python — sys.stdout.flush()
  • Java — System.out.flush()
  • 그 외의 언어는 각 언어의 Documentation을 참고한다.

또한, 예제의 빈 줄은 입출력이 어떤 방식으로 이루어지는지 이해를 돕기 위해 의도적으로 추가된 것이며, 실제 입출력에는 빈 줄이 나타나지 않는다.

예제와 같이 게임을 진행하면, 게임이 종료될 때 빨간 면이 보이는 판이 33개, 파란 면이 보이는 판이 55개이므로 here가 이긴다.