스타크래프트의 고전적인 전술 하나는 저글링처럼 값싼 유닛을 잔뜩 모아 한꺼번에 상대에게 들이미는 것입니다. 두 플레이어가 동시에 이 전략을 쓰면 전투는 순식간에, 그리고 처참하게 끝납니다. 이 문제에서는 실제 게임에서는 허용되지 않을 만큼 많은 저글링이 등장할 수 있는 이런 난전을 시뮬레이션합니다.
전장은 $N \times N$ 격자입니다. 모든 저글링은 정확히 한 칸을 차지하며, 두 저글링이 같은 칸에 있는 일은 없습니다. 각 저글링의 초기 체력은 $35$입니다. 공격력은 $5$에 그 저글링을 조종하는 플레이어의 공격 업그레이드를 더한 값입니다. 한 저글링이 다른 저글링을 공격하면, 입히는 피해는 (공격하는 저글링의 공격력) $-$ (공격받는 저글링을 소유한 플레이어의 방어 업그레이드)이며, 공격받은 저글링은 그만큼 체력을 잃습니다. (공격력은 $5$부터 $8$까지, 방어 업그레이드는 $0$부터 $3$까지이므로 모든 공격은 최소 $2$의 피해를 줍니다.)
매 턴마다 각 저글링은 다음의 (그리 똑똑하지 않은) 규칙으로 각자 행동을 결정합니다.
어떤 규칙이 둘 이상의 방향을 허용할 때는, 북쪽에서 시작해 시계 방향 순서로 우선합니다: 북, 북동, 동, 남동, 남, 남서, 서, 북서. 북쪽은 첫 번째 행을, 서쪽은 첫 번째 열을 향합니다. 즉 저글링은 이 순서에서 가장 먼저 적이 있는 방향의 적을 공격하고, 최소 거리 칸에 도달하는 가장 먼저 오는 방향으로 이동합니다. 이동 목표로 삼을 가장 가까운 적이 여럿이면 그중 가장 북쪽에 있는 적을, 다시 그중 가장 서쪽에 있는 적을 선택합니다.
모든 저글링이 결정을 마치면, 턴은 정확히 다음 순서로 처리됩니다.
입력은 여러 개의 테스트 케이스로 이루어지며, $N = 0$인 케이스로 끝납니다. 이 종료 케이스는 처리하지 않습니다.
각 테스트 케이스는 다음과 같이 주어집니다.
.은 빈 칸, 1은 플레이어 1의 저글링, 2는 플레이어 2의 저글링입니다. 첫 번째 행이 북쪽 가장자리, 첫 번째 열이 서쪽 가장자리입니다.각 테스트 케이스에 대해, $t$턴이 지난 뒤의 격자를 입력 격자와 같은 형식($N$개의 줄, 각 줄에 $N$개의 문자)으로 출력합니다. 연속한 두 테스트 케이스의 출력 사이에는 빈 줄을 하나 출력합니다.