퍼레이드

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

5월 9일은 전승 기념일로, 매년 붉은 광장에서 승전 퍼레이드가 열립니다. 이 퍼레이드를 디지털로 재현하기 위해, 하나의 대형(formation)이 어떻게 바뀌는지를 추적해야 합니다.

대형은 $4 \times 4$ 격자입니다. 사람들은 처음에 행 우선(row-major) 순서로 $1$번부터 $16$번까지 번호가 매겨져 있습니다.

1  2  3  4
5  6  7  8
9  10 11 12
13 14 15 16

이후 명령이 순서대로 주어집니다. 각 명령은 세 정수 $(r, c, k)$로 이루어지며 다음을 의미합니다.

좌상단 모서리가 $r$행 $c$열에 있는 $k \times k$ 정사각형의 테두리(perimeter) 에 있는 사람들을 시계 방향으로 한 칸 회전시킨다.

예를 들어, 명령 $(1, 1, 2)$는 처음 격자를 다음과 같이 바꿉니다.

5 1 3 4
6 2 7 8
9 10 11 12
13 14 15 16

명령 $(2, 2, 3)$은 처음 격자를 다음과 같이 바꿉니다.

1 2 3 4
5 10 6 7
9 14 11 8
13 15 16 12

명령 $(1, 1, 4)$는 처음 격자를 다음과 같이 바꿉니다.

5 1 2 3
9 6 7 4
13 10 11 8
14 15 16 12

처음에 주어진 $N$개의 명령이 있습니다. 이제 $Q$번의 수정을 합니다. 각 수정은 하나의 명령을 영구적으로 다시 씁니다.

$i$번째 명령을 $(r', c', k')$로 바꾼다.

모든 수정은 누적적이며 영구적입니다. 즉, 이전 수정들이 이미 바꿔 놓은 명령 목록을 그대로 이어받아 수정합니다. 각 수정이 끝날 때마다, (지금까지의 모든 수정이 반영된) $N$개의 명령을 처음 격자에 순서대로 모두 적용했을 때의 대형을 출력하세요.

입력

첫 줄에 명령의 수 $N$과 수정의 수 $Q$가 주어집니다 ($1 \le N, Q \le 100000$).

다음 $N$개의 줄에는 각각 세 정수 $r$, $c$, $k$가 주어져 하나의 회전 명령을 나타냅니다. 이때 $1 \le k \le 4$, $r + k - 1 \le 4$, $c + k - 1 \le 4$을 만족합니다.

다음 $Q$개의 줄에는 각각 네 정수 $i$, $r'$, $c'$, $k'$가 주어집니다. $i$는 바꿀 명령의 $1$-기반 인덱스이고, 그 뒤의 $(r', c', k')$는 새로운 명령입니다 ($r'$, $c'$, $k'$도 위와 같은 제약을 만족합니다).

출력

각 수정마다, 지금까지의 모든 수정을 적용한 뒤의 최종 $4 \times 4$ 대형을, 공백으로 구분된 네 정수씩 $4$줄로 출력하세요. $Q$번의 수정에 대한 출력 블록을 사이에 빈 줄 없이 이어서 출력합니다.

참고

  • 각 수정은 명령 목록을 제자리에서(in place) 바꾸며, 그 변경은 누적됩니다. 즉 $j$번째 수정은 $1 \ldots j-1$번째 수정 위에 적용됩니다.
  • $k = 1$인 명령은 한 칸만을 대상으로 하므로 대형을 전혀 바꾸지 않습니다.
  • 각 수정 후의 답은 유일하게 결정되므로, 출력은 정확히 일치해야 합니다.