問題文
JOI 君は,紙とマスキングテープを使い,色塗りをして遊んでいる.
紙は長方形であり,縦 $H$ 行,横 $W$ 列のマス目が描かれている.上から $i$ 行目 ($1 \le i \le H$),左から $j$ 列目 ($1 \le j \le W$) のマスをマス $(i, j)$ と呼ぶ.
それぞれのマスには色が $1$ つ定められている.色は整数で表され,はじめすべてのマスの色は $0$ である.
JOI 君は,この紙とマスキングテープを用いて $Q$ 回の操作を行う. $k$ 回目 ($1 \le k \le Q$) の操作は,整数 $q_k$ の値に応じて以下のように説明される.
- $q_k = 1$ のとき,この操作は整数 $x_k, y_k, c_k$ で表される.マス $(x_k, y_k)$,$(x_k + 1, y_k)$,$(x_k, y_k + 1)$,$(x_k + 1, y_k + 1)$ それぞれについて,マスがマスキングテープで覆われていなければ,そのマスの色を $c_k$ に変更する.マスがマスキングテープで覆われているならば,そのマスには何もしない.
- $q_k = 2$ のとき,この操作は整数 $x_k, y_k$ で表される.マス $(x_k, y_k)$,$(x_k + 1, y_k)$,$(x_k, y_k + 1)$,$(x_k + 1, y_k + 1)$ をマスキングテープで覆う.
$Q$ 回の操作が終わった後,すべてのマスキングテープを剥がす.なお,あるマスのマスキングテープを剥がしたとき,そのマスの色はマスキングテープで覆われる直前の色と同じになる.
$Q$ 回の操作の情報が与えられたとき,最終的な紙のすべてのマスの色を求めるプログラムを作成せよ.
制約
- $2 \le H \le 500$.
- $2 \le W \le 500$.
- $1 \le Q \le 200\,000$.
- $q_k$ は $1$ か $2$ のいずれかである ($1 \le k \le Q$).
- $q_k = 1$ のとき,$1 \le x_k \le H - 1$,$1 \le y_k \le W - 1$,$1 \le c_k \le 10^9$ ($1 \le k \le Q$).
- $q_k = 2$ のとき,$1 \le x_k \le H - 1$,$1 \le y_k \le W - 1$ ($1 \le k \le Q$).
- 入力される値はすべて整数である.
小課題
- ($32$ 点) $H = 2$,$W = 2$,$q_k = 1$ ($1 \le k \le Q$).
- ($32$ 点) $q_k = 1$ ($1 \le k \le Q$).
- ($36$ 点) 追加の制約はない.
入力
入力は以下の形式で与えられる.
$$ \begin{aligned} &H\ W\ Q \\ &(\text{Query } 1) \\ &(\text{Query } 2) \\ &\vdots \\ &(\text{Query } Q) \end{aligned} $$
各 $(\text{Query } k)$ ($1 \le k \le Q$) にはいくつかの整数が空白区切りで書かれている.そのうち $1$ 個目の整数が $q_k$ であり,この行の内容は以下のいずれかである.
- $q_k = 1$ のとき,この行には続いて $3$ 個の整数 $x_k, y_k, c_k$ が空白区切りで書かれている.
- $q_k = 2$ のとき,この行には続いて $2$ 個の整数 $x_k, y_k$ が空白区切りで書かれている.
出力
最終的な紙のすべてのマスの色を $H$ 行で出力せよ.$i$ 行目 ($1 \le i \le H$) には,$W$ 個の整数を空白区切りで出力せよ.ここで,$j$ 番目 ($1 \le j \le W$) に出力する整数はマス $(i, j)$ の色とする.
入出力例
入力例 1
5 5 4 1 2 2 1 2 1 2 2 3 3 1 1 3 5
出力例 1
0 0 0 5 0 0 1 1 5 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
$4$ 回の操作を順に見ていく.
$1$ 回目の操作について,$q_1 = 1$ である.マス $(2, 2)$,$(2, 3)$,$(3, 2)$,$(3, 3)$ はすべてマスキングテープで覆われていないので,色を $1$ に変更する.
このとき,紙は以下のようになっている.
0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
$2$ 回目の操作について,$q_2 = 2$ である.マス $(1, 2)$,$(1, 3)$,$(2, 2)$,$(2, 3)$ をマスキングテープで覆う.
このとき,紙は以下のようになっている.なお,マスキングテープで覆ったマスの色を表す整数の右に * を付けた.
0 0* 0* 0 0 0 1* 1* 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
$3$ 回目の操作について,$q_3 = 2$ である.マス $(3, 3)$,$(3, 4)$,$(4, 3)$,$(4, 4)$ をマスキングテープで覆う.
このとき,紙は以下のようになっている.
0 0* 0* 0 0 0 1* 1* 0 0 0 1 1* 0* 0 0 0 0* 0* 0 0 0 0 0 0
$4$ 回目の操作について,$q_4 = 1$ である.マス $(1, 4)$,$(2, 4)$ はマスキングテープで覆われていないので,色を $5$ に変更する.マス $(1, 3)$,$(2, 3)$ はマスキングテープで覆われているので,何もしない.
このとき,紙は以下のようになっている.
0 0* 0* 5 0 0 1* 1* 5 0 0 1 1* 0* 0 0 0 0* 0* 0 0 0 0 0 0
したがって,最終的な紙のすべてのマスの色は出力例のようになっている.
この入出力例は小課題 $3$ の制約を満たす.
入力例 2
5 5 3 1 1 1 2 1 3 3 3 1 2 4 2
出力例 2
2 2 0 0 0 2 2 0 2 2 0 0 3 2 2 0 0 3 3 0 0 0 0 0 0
この入出力例は小課題 $2, 3$ の制約を満たす.
入力例 3
10 10 10 2 5 7 2 5 6 1 5 6 1 1 9 2 1 2 1 1 1 2 4 2 2 3 2 1 2 2 3 1 9 9 2 1 8 8 1
出力例 3
0 0 0 0 0 0 0 0 0 0 0 0 3 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 2 0 1 1 0 0 0 0 0 2 2
この入出力例は小課題 $3$ の制約を満たす.