AT_past202112_j 回転と反転

Description

[problemUrl]: https://atcoder.jp/contests/past202112-open/tasks/past202112_j $ N $ 行 $ N $ 列のマス目があります。最初は全てのマスが白く塗られています。 $ Q $ 個のクエリ $ \text{Query}_1,\text{Query}_2,\ldots,\text{Query}_Q $ が与えられるので、順に処理してください。 クエリには $ 3 $ 種類あり、入力形式とクエリの内容は以下の通りです。 - `1 x y` : 上から $ x $ 行目、左から $ y $ 列目のマスが白なら黒く、黒なら白く塗り替える。 - `2 c` : グリッド全体を、$ c $ が `A` なら時計回りに、`B` なら反時計回りに $ 90 $ 度回す。 - `3 c` : グリッド全体を、$ c $ が `A` なら上下反転、`B` なら左右反転させる。 全てのクエリを処理した後のマス目の状態を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \text{Query}_1 $ $ \text{Query}_2 $ $ \vdots $ $ \text{Query}_Q $

Output Format

$ N $ 行出力せよ。 $ i\,(1\ \leq\ i\ \leq\ N) $ 行目には、`0` と `1` のみからなる長さ $ N $ の文字列 $ S $ を出力せよ。$ S $ の $ j $ 文字目は、最終的なマス目の上から $ i $ 行目、左から $ j $ 列目のマスの色を表し、`0` は白、`1` は黒に対応する。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 300 $ - $ 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ x,y\ \leq\ N $ - $ c $ は `A`、`B` のいずれか - 各クエリは問題文中の $ 3 $ 種類のいずれか ### Sample Explanation 1 上から $ 1 $ 行目、左から $ 1 $ 列目のマスを黒く塗り替えた後、グリッド全体を時計回りに $ 90 $ 度回転させます。