AT_abc437_g [ABC437G] Colorful Christmas Tree
Description
今年のクリスマスの季節も終わり、いよいよ年越しです。高橋君はクリスマスツリーを片付ける大掃除に追われています。
赤・青・緑の $ 3 $ 色の電球に彩られたクリスマスツリーがあります。クリスマスツリーには $ N $ 個の電球があり、それらは $ N-1 $ 本のリボンで結ばれています。電球を頂点、リボンを辺とみなしたとき、このグラフは木です。
電球には $ 1 $ から $ N $ までの番号が、リボンには $ 1 $ から $ N-1 $ までの番号がつけられており、リボン $ i $ は電球 $ u_i $ と $ v_i $ を結んでいます。電球 $ i $ ははじめ、 $ c_i $ が `R` ならば赤で、`G` ならば緑で、`B` ならば青で点灯しています。
高橋君は、以下の操作を $ N-1 $ 回行い、すべてのリボンを取り外そうと考えています。
1. まだ取り外されていないリボンのうち、両端の電球の色が異なるものを $ 1 $ 本選び、そのリボンを取り外す。
2. 取り外したリボンの両端の電球の番号を $ u, v $ とする。電球 $ u, v $ それぞれについて、点灯している色を次の規則で変更する。
- 赤で点灯していた場合、緑で点灯させる。
- 緑で点灯していた場合、青で点灯させる。
- 青で点灯していた場合、赤で点灯させる。
高橋君がこの操作を繰り返してすべてのリボンを取り外すことが可能かどうかを判定し、可能ならばそのような操作方法を $ 1 $ つ出力してください。
$ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $
各テストケースは以下の形式で与えられる。
> $ N $ $ c_1c_2\ldots c_N $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_{N-1} $ $ v_{N-1} $
Output Format
$ \mathrm{case}_1, \mathrm{case}_2, \ldots, \mathrm{case}_T $ に対する答えを順に以下の形式で出力せよ。
リボンをすべて取り外すことが不可能な場合、`No` と出力せよ。
可能な場合、 $ i $ 回目の操作で取り外すリボンの番号を $ e_i $ として、
> Yes $ e_1 $ $ e_2 $ $ \ldots $ $ e_{N-1} $
と出力せよ。 $ (e_1, e_2, \ldots, e_{N-1}) $ は $ (1, 2, \ldots, N-1) $ の順列である必要がある。
解が複数存在する場合、どれを出力しても正解とみなされる。
Explanation/Hint
### Sample Explanation 1
$ 1 $ つ目のテストケースについて、例えば以下のように操作を行うことですべてのリボンを取り外すことができます。
- はじめ、各電球の色は(電球 $ 1 $ から)順に緑、青、青、赤である。
- リボン $ 1 $ を取り外す。取り外した後の各電球の色は順に青、赤、青、赤である。
- リボン $ 3 $ を取り外す。取り外した後の各電球の色は順に赤、赤、青、緑である。
- リボン $ 2 $ を取り外す。取り外した後の各電球の色は順に緑、赤、赤、緑である。
条件を満たす $ (e_1, e_2,e_3) $ は $ (1, 3, 2) $ または $ (2, 3, 1) $ の $ 2 $ つであり、どちらを出力しても正解となります。
$ 2 $ つ目のテストケースについて、どのように操作をしてもすべてのリボンを取り外すことはできません。
### Constraints
- $ 1\leq T\leq 20000 $
- $ 2\leq N\leq 2000 $
- $ c_i $ は `R`, `G`, `B` のいずれか
- $ 1\leq u_i,v_i\leq N $
- 電球を頂点、リボンを辺とみなしたとき、与えられるグラフは木
- $ T,N,u_i,v_i $ は整数
- $ 1 $ つの入力ファイルに含まれる $ N^2 $ の総和は $ 2000^2 $ 以下