항아리가 다섯 개 있고, 처음에는 각 항아리에 한 가지 색 공만 들어 있다. 각 항아리에 들어 있는 공의 색은 1번부터 차례로 빨강, 주황, 노랑, 초록, 파랑이다. 이제 항아리 사이에서 공을 옮긴다. 모든 이동이 끝난 뒤 각 항아리에 남은 공의 색깔별 개수를 구하라.
옮기기 직전에 항아리를 아주 잘 섞는다. 그래서 각 색깔에서 옮기는 개수는 옮기기 직전 그 항아리의 색깔별 비율에 최대한 가깝다.
빨강 60개와 초록 40개가 든 항아리를 예로 들자. 10개를 옮기면 빨강 6개와 초록 4개가 정확히 옮겨진다. 12개를 옮긴다면 이상적인 개수는
이지만 개수는 정수여야 한다. 이때는 빨강 7개와 초록 5개를 옮긴다. 이 선택이 이상적인 개수와 벌어지는 차이
7−(7+10020)+5−(4+10080)=10020+10020=10040
가 다른 어떤 선택보다도 작기 때문이다.
차이가 똑같은 선택이 둘 이상 나오기도 한다. 빨강, 초록, 파랑이 각각 50개씩 든 항아리에서 두 개를 꺼내면 서로 다른 두 색을 하나씩 고르는 어떤 선택이든 차이가 같다. 이런 경우에는 옮기는 개수를 (r,o,y,g,b) 꼴의 수열로 적고 사전순으로 가장 앞서는 것을 고른다. 위 예에서는 (1,0,0,1,0), (1,0,0,0,1), (0,0,0,1,1) 중에서 골라야 하므로 (0,0,0,1,1)을 택한다.
항아리에 든 것보다 많은 공을 옮기려고 하면 그 항아리의 공을 전부 옮긴다.
입력은 여러 시행으로 이루어진다. 각 시행은 시행 이름이 적힌 한 줄로 시작한다. 그 다음 줄에는 다섯 항아리의 처음 공 개수가 1번부터 5번까지 차례로 주어지며, 각 값은 0 이상 99999 이하의 정수이다. 이어서 정수 세 개로 이루어진 줄이 여러 개 온다. 첫 번째 정수는 옮길 공의 개수, 두 번째는 공을 꺼내는 항아리의 번호(1 이상 5 이하), 세 번째는 공을 넣는 항아리의 번호이다. 정수 세 개가 모두 0인 줄(0 0 0)이 나오면 그 시행이 끝난다. #만 적힌 줄이 나오면 입력이 끝난다.
각 시행마다 시행 이름을 출력하고 이어서 그 시행의 결과를 출력한다. 결과의 첫 줄은 머리글 줄이다. 머리글 줄에는 URN을 적고 공백 여덟 칸을 둔 다음, R, O, Y, G, B를 사이마다 공백 여섯 칸씩 두고 적는다. 그 다음 다섯 줄에는 1번 항아리부터 5번 항아리까지의 최종 내용을 순서대로 출력한다. 각 줄은 항아리 번호로 시작하고 공백 네 칸을 둔 뒤, 그 항아리에 든 공의 개수를 색깔 순서대로 다섯 개 출력한다. 각 정수는 너비 7의 칸에 오른쪽 정렬한다. 시행과 시행 사이에는 빈 줄을 하나 출력한다.