K개의 나선이 이동 거리 1,1,2,2,... 규칙으로 N×M 격자 위를 움직일 때, 각 칸에 가장 먼저 도달한 나선의 걸음 수를 출력한다. 10^100걸음까지 고려한다.
보통6구현시뮬레이션수학배열아직 제출이 없습니다시간 제한1초메모리 제한64 MBN행 M열짜리 표가 있다. 표는 처음에 비어 있고, 그 위에 나선 K개가 놓여 있다. 각 나선은 자기 출발 칸에서 움직이기 시작하며, 회전 방향은 시계 방향과 반시계 방향 중 하나다.
나선 하나는 다음 규칙으로 움직인다.
나선은 모두 동시에 움직이고, 한 단계마다 각자 한 칸씩 나아간다. 나선이 표 밖으로 나갔다가 나중에 다시 표 안으로 들어오기도 한다.
정확히 10100단계가 지난 뒤, 각 칸의 값은 어떤 나선이 그 칸을 처음 밟은 단계 번호다.

그림 1: 반시계 방향으로 움직이는 나선

그림 2: 시계 방향으로 움직이는 나선
첫째 줄에 N, M (1≤N,M≤50)과 K (1≤K≤N×M)가 주어진다.
다음 K개 줄에는 정수 Xi, Yi, Ti (1≤Xi≤N, 1≤Yi≤M, 0≤Ti≤1)가 주어진다. Xi와 Yi는 i번째 나선이 출발하는 칸의 행 번호와 열 번호이고, Ti가 0이면 시계 방향, 1이면 반시계 방향이다. 출발 칸이 같은 나선은 없다.
N개 줄에 걸쳐 한 줄에 M개의 수를 공백 하나로 구분해 출력한다. i번째 줄의 j번째 수는 i행 j열 칸의 값이다.
세 번째 예제를 그림으로 설명하면 다음과 같다.

보기 편하도록 첫 번째 나선이 남긴 수에는 A를, 두 번째 나선이 남긴 수에는 B를 붙였다. 첫 번째 나선은 20단계까지, 두 번째 나선은 21단계까지만 그렸다. 회색 칸이 표에 속한 칸이고, 나머지 칸은 표 밖이지만 나선이 표 밖에서 어떻게 움직이는지 보이려고 함께 그렸다.