#abc298c. [abc298_c]Cards Query Problem

[abc298_c]Cards Query Problem

問題文

11 から NN までの番号がついた NN 個の空の箱と、何も書かれていない無数のカードがあります。
QQ 個のクエリが与えられるので、順番に処理してください。クエリは次の 33 種類のいずれかです。

  • 1 i j colon\\colon カードを 11 枚選んで数 ii を書き込み、そのカードを箱 jj に入れる
  • 2 i colon\\colonii に入っているカードに書かれた数を昇順ですべて答える
  • 3 i colon\\colonii が書かれたカードが入っている箱の番号を昇順ですべて答える

ただし、以下の点に注意してください。

  • 22 番目の形式のクエリにおいては、箱 ii の中に同じ数が書かれたカードが複数枚あるときは、入っている枚数と同じ回数だけその数を出力する
  • 33 番目の形式のクエリにおいては、数 ii が書かれたカードが同じ箱に複数枚入っている場合でも、その箱の番号は 11 度だけ出力する

制約

  • 1leqN,Qleq2times1051 \\leq N, Q \\leq 2 \\times 10^5
  • 11 番目の形式のクエリについて、
    • 1leqileq2times1051 \\leq i \\leq 2 \\times 10^5
    • 1leqjleqN1 \\leq j \\leq N
  • 22 番目の形式のクエリについて、
    • 1leqileqN1 \\leq i \\leq N
    • このクエリが与えられる時点で箱 ii にカードが入っている
  • 33 番目の形式のクエリについて、
    • 1leqileq2times1051 \\leq i \\leq 2 \\times 10^5
    • このクエリが与えられる時点で数 ii が書かれたカードが入っている箱が存在する
  • 出力するべき数は合計で 2times1052 \\times 10^5 個以下
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN QQ mathrmquery1\\mathrm{query}_1 mathrmquery2\\mathrm{query}_2 vdots\\vdots mathrmqueryQ\\mathrm{query}_Q

ただし、mathrmqueryq\\mathrm{query}_qqq 個目のクエリを表しており、次のいずれかの形式で与えられる。

11 ii jj 22 ii 33 ii

出力

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


入力例 1

5
8
1 1 1
1 2 4
1 1 4
2 4
1 1 4
2 4
3 1
3 2

出力例 1

1 2
1 1 2
1 4
4

クエリを順に処理していきます。

  • カードに 11 を書き込み、箱 11 に入れます。
  • カードに 22 を書き込み、箱 44 に入れます。
  • カードに 11 を書き込み、箱 44 に入れます。
  • 44 に入っているカードに書かれた数は 1,21, 2 です。
    • 1,21, 2 の順に出力してください。
  • カードに 11 を書き込み、箱 44 に入れます。
  • 44 に入っているカードに書かれた数は 1,1,21, 1, 2 です。
    • 1122 度出力することに注意してください。
  • 11 が書かれたカードが入っている箱は箱 1,41, 4 です。
    • 44 には数 11 が書かれたカードが 22 枚入っていますが、4411 回しか出力しないことに注意してください。
  • 22 が書かれたカードが入っている箱は箱 44 です。

入力例 2

1
5
1 1 1
1 2 1
1 200000 1
2 1
3 200000

出力例 2

1 2 200000
1