Meowland の地図は $n$ 個の頂点と $n - 1$ 本の辺からなる根付き木とみなすことができ、頂点は都市を、辺は 2 つの都市を結ぶ道路を表します。首都は根である頂点 $1$ にあります。
現在、Meowland はいくつかの都市に最新の 77G ネットワーク基地局を設置したいと考えています。すべての道路で十分な通信品質を確保するため、各道路の両端の都市のうち少なくとも一方には基地局が設置されていなければなりません。しかし、原因不明の技術的問題により、ネットワークシステムには $m$ 個の不具合があります。不具合 $i$ は次のように記述されます:都市 $x_i$ に基地局を設置した場合、$x_i$ の部分木内にあり、かつ $x_i$ からの距離がちょうど $y_i$ であるすべての都市には基地局を設置することができません。そうしなければ、基地局同士が干渉して使用不能になってしまいます。
上記のすべての要件を満たすように基地局を設置する都市を Meowland のために選んでください。条件を満たす選び方が存在しない場合は No を出力してください。
入力
各テストファイルには複数のテストケースが含まれます。1 行目にはテストケースの個数 $T$ ($1 \le T \le 10^3$) が与えられます。続いて各テストケースが与えられます。
各テストケースの 1 行目には、都市の個数を表す整数 $n$ ($2 \le n \le 2 \times 10^5$) が与えられます。
2 行目には $n - 1$ 個の整数 $f_2, f_3, \dots, f_n$ ($1 \le f_i < i$) が与えられます。ここで $f_i$ は都市 $i$ の親を表します。
3 行目には、不具合の個数を表す整数 $m$ ($0 \le m \le 2 \times 10^5$) が与えられます。
続く $m$ 行のそれぞれには、$i$ 番目の不具合を表す 2 つの整数 $x_i$ と $y_i$ ($1 \le x_i, y_i \le n$) が与えられます。同一の不具合が複数存在する場合もあります。
各テストファイルについて、すべてのテストケースにおける $n$ の総和は $2 \times 10^5$ を超えず、$m$ の総和も $2 \times 10^5$ を超えないことが保証されます。
出力
各テストケースについて、条件を満たす選び方が存在しない場合は No と 1 行に出力してください。
存在する場合は、あなたの選び方を表す 3 行を出力してください:
- 1 行目に
Yesを出力する。 - 2 行目に、選ぶ都市の個数を表す整数 $c$ を出力する。
- 3 行目に、選ぶ都市を表す $c$ 個の相異なる整数を出力する。
条件を満たす選び方が複数存在する場合は、どれを出力しても構いません。また、$c$ 個の都市は任意の順序で出力して構いません。
入出力例
入力例 1
3 6 1 1 2 2 4 2 1 3 2 1 6 1 1 2 2 4 6 1 1 1 2 1 3 2 1 2 2 2 1 8 1 1 3 1 1 2 4 10 1 2 3 2 1 3 5 1 6 1 3 2 4 1 3 2 5 1 3 1
出力例 1
Yes 4 5 3 4 1 No No