OUPC2025 OPENコンテスト 2026/03/29 09:00 ~ 2026/03/29 14:00 5:00:00.000

B Restore Testcase 2

問題
制限時間: 10 sec メモリ制限: 1024 MB
Restore Testcase 2
Statement

以下のような問題 ZZ を作りました。

【問題 ZZ
長さ NN の数列 AA があります。はじめ、各要素はすべて 00 です。q=1,2,,Qq=1,2,\dots,Q の順に以下のクエリを行います。
  • 数列の lql_q 番目から rqr_q 番目を cqc_q に変える。
すべてのクエリを行った後の AA を出力してください。

問題 ZZ のテストケースは以下のような形式になっています。

N QN~Q
l1 r1 c1l_1~r_1~c_1
l2 r2 c2l_2~r_2~c_2
\vdots
lQ rQ cQl_Q~r_Q~c_Q

問題 ZZ のテストケースを用意し、出力結果も保存していましたが、テストケースの 22 行目から Q+1Q+1 行目までをシャッフルしてしまいました。 シャッフルした後のテストケースと出力結果である数列 AA が与えられるので、シャッフルする前のテストケースとしてあり得るものを 11 つ求めてください。 ただし、そのようなテストケースが 11 つ以上存在することは保証されます。

Input

q=1,2,,Qq=1,2,\dots,Q について、問題 ZZ のシャッフル後のテストケースの上から q+1q+1 行目を

lq rq cql'_q~r'_q~c'_q
としたとき、入力は以下の形式で与えられます。

N QN~Q
l1 r1 c1l'_1~r'_1~c'_1
l2 r2 c2l'_2~r'_2~c'_2
\vdots
lQ rQ cQl'_Q~r'_Q~c'_Q
A1 A2  ANA_1~A_2~\dots~A_N

入力は以下の制約をすべて満たします。

  • 1N2000001 \leq N \leq 200000
  • 1Q2000001 \leq Q \leq 200000
  • 1lqrqN1 \leq l'_q \leq r'_q \leq N
  • 1cqN1 \leq c'_q \leq N
  • 0AiN0 \leq A_i \leq N
  • 入力はすべて整数
  • 条件を満たす解が存在する

Output

入力の 22 行目から Q+1Q+1 行目までを条件を満たすように並び替えて合計 QQ 行で出力してください。 qq 行目には、元のテストケースの q+1q+1 行目を出力してください。

Scoring

以下の追加制約を満たすデータセットに正解した場合、部分点が与えられます。

  • (10点): 0Ai1,  cq=10 \leq A_i \leq 1, \; c_q=1
  • (25点): N3000,  Q3000N\leq 3000,\; Q\leq 3000
  • (65点): 追加制約はありません。

Example

Input 1
4 3
2 2 1
1 2 3
4 4 4
3 1 0 4
Output 1
1 2 3
2 2 1
4 4 4