유니콘 마구간 배치

빨간색, 노란색, 파란색 유니콘의 개수가 주어질 때, 이웃한 유니콘이 같은 색 털을 공유하지 않도록 원형으로 배치하고, 가능하면 사전순으로 가장 작은 문자열을 출력한다.

보통5그리디구현문자열수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

유니콘 NN마리를 기르고 있다. 유니콘의 갈기에는 빨간 털, 노란 털, 파란 털 중 한 종류 또는 두 종류가 들어 있고, 갈기 색은 어떤 털이 들어 있는지로 정해진다.

  • 한 종류의 털만 있는 갈기는 그 털의 색으로 보인다. 파란 털만 있는 갈기는 파란색이다.
  • 빨간 털과 노란 털이 있는 갈기는 주황색으로 보인다.
  • 노란 털과 파란 털이 있는 갈기는 초록색으로 보인다.
  • 빨간 털과 파란 털이 있는 갈기는 보라색으로 보인다.

갈기가 빨간색, 주황색, 노란색, 초록색, 파란색, 보라색인 유니콘이 각각 RR, OO, YY, GG, BB, VV마리 있다.

칸이 NN개인 원형 마구간을 지었다. 칸은 고리 모양으로 이어져 있어서 각 칸은 다른 두 칸과 맞닿는다. 이 칸마다 유니콘을 정확히 한 마리씩 넣으려고 한다. 그런데 유니콘은 스스로 희귀하다고 느껴야 하므로, 갈기에 같은 색 털을 하나라도 함께 가진 두 유니콘은 이웃한 칸에 둘 수 없다. 주황색 갈기와 보라색 갈기는 둘 다 빨간 털이 있으므로 이웃할 수 없다. 초록색 갈기와 노란색 갈기는 둘 다 노란 털이 있으므로 이웃할 수 없다.

유니콘을 모두 배치할 수 있는지 판정하고, 배치할 수 있으면 그 배치를 구하자.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 다음 TT개의 줄에 테스트 케이스가 하나씩 주어진다. 각 줄에는 정수 일곱 개 NN, RR, OO, YY, GG, BB, VV가 공백으로 구분되어 주어진다.

제한

  • 1T1001 \le T \le 100
  • 3N10003 \le N \le 1000
  • R+O+Y+G+B+V=NR + O + Y + G + B + V = N
  • {R,O,Y,G,B,V}\{R, O, Y, G, B, V\}에 속하는 각 값 ZZ에 대해 0Z0 \le Z
  • O=G=V=0O = G = V = 0 (유니콘의 갈기에는 한 가지 색 털만 있다)

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이다. 유니콘을 모두 배치할 수 없으면 yyIMPOSSIBLE이다. 배치할 수 있으면 yy는 길이 NN인 문자열이고, 원하는 칸에서 시작해 시계 방향으로 읽은 배치를 나타낸다. 갈기가 빨간색인 유니콘은 R, 주황색은 O, 노란색은 Y, 초록색은 G, 파란색은 B, 보라색은 V로 적는다.

올바른 배치를 나타내는 문자열은 여러 개일 수 있다. 시작 칸을 다르게 잡아서 얻는 문자열까지 모두 모아, 그중 사전순으로 가장 앞서는 문자열 하나만 출력한다. 문자는 아스키 순서로 비교하므로 B < G < O < R < V < Y이다.

노트

칸은 고리를 이루므로 출력한 문자열의 첫 글자와 마지막 글자도 서로 이웃이다.