AT_xmascontest2015_b Broken Christmas Tree

Description

[problemUrl]: https://atcoder.jp/contests/xmascontest2015noon/tasks/xmascontest2015_b クリスマスの季節になった。うさぎは、クリスマスパーティをするためにクリスマスツリーを作っている。しかし、うさぎは不器用なのでまったくツリーが作成できていない。さらに悪い事に、ツリーの部品となる枝を何本か折ってしまった。もうすぐパーティが始まるため急いでクリスマスツリーを作らなければならない。 うさぎの作ろうとしているクリスマスツリーは $ N $ 頂点 $ N-1 $ 辺からなる無向連結グラフである。 頂点にはそれぞれ $ 1 $ から $ N $ までの整数の番号が付いている。基本的にクリスマスツリーには任意の頂点対 $ (u,\ v) $ からなる辺を使って良い。 しかし、うさぎが $ M $ 本の辺を折ってしまったため、この折れた $ M $ 本の辺をクリスマスツリーに使うことはできない。 うさぎの代わりにクリスマスツリーを作ってあげて欲しい。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ p_1 $ $ q_1 $ $ p_2 $ $ q_2 $ : $ p_M $ $ q_M $ - $ 1 $ 行目には $ 2 $ つの整数 $ N,\ M\ (1\ ≦\ N\ ≦\ 2\ \times\ 10^5,\ 0\ ≦\ M\ ≦\ 2\ \times\ 10^5) $ が空白区切りで与えられる。 - 続く $ M $ 行目には $ 2 $ つの整数 $ p_i,\ q_i\ (1\ ≦\ p_i,\ q_i\ ≦\ N,\ p_i\ ≠\ q_i) $が入力される。これは辺 $ (p_i,\ q_i) $ が折れている辺であることを表す。入力される $ M $ 本の折れている辺は互いに異なることが保証されている。

Output Format

もし、与えられた条件のもとでクリスマスツリーを作れない場合、`No` と出力せよ。 そうでない場合、はじめに `Yes` と出力し、次の $ N-1 $ 行に整数を $ 2 $ つ空白区切りで出力せよ。出力の $ i+1\ (1\ ≦\ i\ ≦\ N-1) $ 行目の $ 2 $ つの整数をそれぞれ $ u_i,\ v_i $ とすると、これはクリスマスツリーに辺 $ (u_i $, $ v_i) $ が使われることを表す。 条件を満たす解が複数ある場合、どれを出力しても正解となる。

Explanation/Hint

### 入出力例