AT_arc111_d [ARC111D] Orientation
Description
[problemUrl]: https://atcoder.jp/contests/arc111/tasks/arc111_d
$ N $ 頂点 $ M $ 辺の単純な無向グラフが与えられます。頂点には $ 1,\ \cdots,\ N $ の番号がついています。$ i $ 番目の辺は頂点 $ a_i $, $ b_i $ を繋いでいます。 また、正整数列 $ c_1,\ c_2,\ \cdots,\ c_N $ も与えられます。
このグラフを、次の条件を満たすように有向グラフに変換してください。つまり、各 $ i $ について無向辺 $ (a_i,\ b_i) $ を削除し、有向辺 $ a_i\ \to\ b_i $、$ b_i\ \to\ a_i $ のどちらか $ 1 $ つを張ってください。
- 全ての $ i\ =\ 1,\ 2,\ \cdots,\ N $ について、頂点 $ i $ から(有向辺を好きな回数使うことで)到達可能な頂点数がちょうど $ c_i $ 個。なお、頂点 $ i $ 自身も $ 1 $ 個と数える。
なお、この問題では、**解が存在する**ような入力のみが与えられます。
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 100 $
- $ 0\ \leq\ M\ \leq\ \frac{N(N\ -\ 1)}{2} $
- $ 1\ \leq\ a_i,\ b_i\ \leq\ N $
- 与えられるグラフに自己ループや多重辺は存在しない
- $ 1\ \leq\ c_i\ \leq\ N $
- **必ず題意を満たす解が存在する**
### Sample Explanation 1
長さ $ 3 $ のサイクルでは、どの頂点からも全ての頂点に到達できます。
### Sample Explanation 3
グラフは非連結のこともあります。