돌림판 (Small)

R, G, B로 칠해진 원형 배열을 주어진 국소 규칙으로 K번 다시 칠한 뒤, 마지막에 각 색의 개수를 출력한다.

보통5시뮬레이션문자열구현아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

지훈이는 경품 행사를 열려고 돌림판을 준비했다. 돌림판의 원판은 NN등분되어 있고, 각 칸은 빨간색, 초록색, 파란색 중 하나로 칠해져 있다. 행사 규칙은 간단하다. 참가자는 빨간색, 초록색, 파란색 중 하나를 고른다. 돌림판을 돌려서 스피너가 멈춘 칸의 색이 자기가 고른 색과 같은 사람 모두에게 상품을 준다.

원판이 NN등분되어 있으므로, NN개의 칸 중 빨간색이 aa개, 초록색이 bb개, 파란색이 cc개라면 각 색이 걸릴 확률은 차례대로 a/Na/N, b/Nb/N, c/Nc/N이다. 즉 어느 칸에 어떤 색이 칠해졌는지 모른다면 이론적으로 세 색이 걸릴 확률은 모두 같다.

지훈이가 참가자들이 고른 색을 조사해 보니 세 색 중 특정 색을 유난히 많이 골랐다. 이유를 찾아보니, 어떤 사람이 돌림판을 미리 보고 가장 많이 칠해진 색을 친분이 있는 참가자 몇 명에게 알려 준 것이었다. 그래서 지훈이는 돌림판의 색을 모두 바꾸려고 한다. 색을 바꾸는 과정은 다음과 같다. 모든 칸의 색은 동시에 바뀐다.

PP를 돌림판의 임의의 칸이라고 하자.

  1. PP의 왼쪽 칸, PP, PP의 오른쪽 칸에 칠해진 색이 모두 같거나 모두 다르면, PP의 색을 파란색으로 바꾼다.
  2. 그렇지 않으면 1에서 본 세 칸은 XX 색이 2개, YY 색이 1개 칠해진 상황이다.
  3. 아래 세 경우 중 하나라도 만족하면 PP의 색을 빨간색으로 바꾼다. 그렇지 않으면 초록색으로 바꾼다.

XX가 빨간색이고 YY가 초록색인 경우, XX가 초록색이고 YY가 파란색인 경우, XX가 파란색이고 YY가 빨간색인 경우

칸은 원형으로 이어져 있어서 왼쪽 이웃과 오른쪽 이웃도 원판을 한 칸 돌아 정해진다. N=1N=1이면 PP의 왼쪽 칸과 오른쪽 칸이 모두 PP 자신이고, N=2N=2이면 두 이웃이 같은 칸이다.

지훈이는 이렇게 색을 한 번 바꾸었다. 그래도 불안해서 같은 방법으로 K1K-1번 더 바꾸었다. 색을 모두 KK번 바꾼 뒤 돌림판에 각 색이 몇 칸씩 칠해져 있는지 구하자.

입력

첫째 줄에 NNKK가 공백으로 구분되어 주어진다.

둘째 줄에 길이가 NN인 문자열이 주어진다. 이 문자열은 돌림판의 각 칸에 칠해진 색을 시계 방향으로 나타낸 것이다. 빨간색은 R, 초록색은 G, 파란색은 B로 주어진다.

1N10001 \le N \le 1000, 1K10001 \le K \le 1000

출력

색을 KK번 바꾼 뒤, 빨간색으로 칠해진 칸의 수, 초록색으로 칠해진 칸의 수, 파란색으로 칠해진 칸의 수를 이 순서대로 공백으로 구분해 한 줄에 출력한다.