AT_abc298_c [ABC298C] Cards Query Problem

Description

[problemUrl]: https://atcoder.jp/contests/abc298/tasks/abc298_c $ 1 $ から $ N $ までの番号がついた $ N $ 個の空の箱と、何も書かれていない無数のカードがあります。 $ Q $ 個のクエリが与えられるので、順番に処理してください。クエリは次の $ 3 $ 種類のいずれかです。 - `1 i j` $ \colon $ カードを $ 1 $ 枚選んで数 $ i $ を書き込み、そのカードを箱 $ j $ に入れる - `2 i` $ \colon $ 箱 $ i $ に入っているカードに書かれた数を**昇順で**すべて答える - `3 i` $ \colon $ 数 $ i $ が書かれたカードが入っている箱の番号を**昇順で**すべて答える ただし、以下の点に注意してください。 - $ 2 $ 番目の形式のクエリにおいては、箱 $ i $ の中に同じ数が書かれたカードが複数枚あるときは、入っている枚数と同じ回数だけその数を出力する - $ 3 $ 番目の形式のクエリにおいては、数 $ i $ が書かれたカードが同じ箱に複数枚入っている場合でも、その箱の番号は $ 1 $ 度だけ出力する

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $ ただし、$ \mathrm{query}_q $ は $ q $ 個目のクエリを表しており、次のいずれかの形式で与えられる。 > $ 1 $ $ i $ $ j $ > $ 2 $ $ i $ > $ 3 $ $ i $

Output Format

$ 2 $ 番目の形式のクエリと $ 3 $ 番目の形式のクエリに対し、順番に答えを出力せよ。 各クエリでは出力するべき要素を**昇順に**空白区切りで出力し、クエリごとに改行せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N,\ Q\ \leq\ 2\ \times\ 10^5 $ - $ 1 $ 番目の形式のクエリについて、 - $ 1\ \leq\ i\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ j\ \leq\ N $ - $ 2 $ 番目の形式のクエリについて、 - $ 1\ \leq\ i\ \leq\ N $ - このクエリが与えられる時点で箱 $ i $ にカードが入っている - $ 3 $ 番目の形式のクエリについて、 - $ 1\ \leq\ i\ \leq\ 2\ \times\ 10^5 $ - このクエリが与えられる時点で数 $ i $ が書かれたカードが入っている箱が存在する - 出力するべき数は合計で $ 2\ \times\ 10^5 $ 個以下 - 入力はすべて整数 ### Sample Explanation 1 クエリを順に処理していきます。 - カードに $ 1 $ を書き込み、箱 $ 1 $ に入れます。 - カードに $ 2 $ を書き込み、箱 $ 4 $ に入れます。 - カードに $ 1 $ を書き込み、箱 $ 4 $ に入れます。 - 箱 $ 4 $ に入っているカードに書かれた数は $ 1,\ 2 $ です。 - $ 1,\ 2 $ の順に出力してください。 - カードに $ 1 $ を書き込み、箱 $ 4 $ に入れます。 - 箱 $ 4 $ に入っているカードに書かれた数は $ 1,\ 1,\ 2 $ です。 - $ 1 $ を $ 2 $ 度出力することに注意してください。 - 数 $ 1 $ が書かれたカードが入っている箱は箱 $ 1,\ 4 $ です。 - 箱 $ 4 $ には数 $ 1 $ が書かれたカードが $ 2 $ 枚入っていますが、$ 4 $ は $ 1 $ 回しか出力しないことに注意してください。 - 数 $ 2 $ が書かれたカードが入っている箱は箱 $ 4 $ です。