100 atcoder#ABC142F. [ABC142F] Pure

[ABC142F] Pure

配点 : 600600

問題文

NN 頂点 MM 辺の有向グラフ GG が与えられます。 このグラフの頂点には 11 から NN までの番号が付けられており、ii 番目の辺は頂点 AiA_i から頂点 BiB_i に向けて張られています。 このグラフは自己辺や多重辺を持たないことが保証されています。

すべての頂点の入次数が 11、出次数が 11 であるような GG の誘導部分グラフ (注記を参照) が存在するか判定し、 存在するならその一例を示してください。 ただし、空グラフは含めないものとします。

注記

有向グラフ G=(V,E)G = (V, E) に対し、次のような条件を満たす有向グラフ G=(V,E)G' = (V', E')GG の誘導部分グラフと呼びます。

  • VV'VV の (空でない) 部分集合である。
  • EE' は、EE の辺であって両端点がともに VV' に含まれるものすべてを含む集合である。

制約

  • 1N10001 \leq N \leq 1000
  • 0M20000 \leq M \leq 2000
  • 1Ai,BiN1 \leq A_i,B_i \leq N
  • AiBiA_i \neq B_i
  • (Ai,Bi)(A_i, B_i) はすべて異なる。
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられます。

NN MM

A1A_1 B1B_1

A2A_2 B2B_2

::

AMA_M BMB_M

出力

条件を満たす GG の誘導部分グラフが存在しないとき、-1 と出力してください。 そうでないとき、以下のフォーマットで条件を満たす GG の誘導部分グラフの一例を出力してください。

KK

v1v_1

v2v_2

:

vKv_K

これは、頂点数が KK、頂点集合が {v1,v2,,vK}\{v_1, v_2, \ldots, v_K\} であるような GG の誘導部分グラフを表します。(v1,v2,,vKv_1, v_2, \ldots, v_K の順序は問いません。) 条件を満たす GG の誘導部分グラフが複数存在するときは、そのうちのどれを出力しても構いません。

4 5
1 2
2 3
2 4
4 1
4 3
3
1
2
4

頂点集合が {1,2,4}\{1, 2, 4\} であるような GG の誘導部分グラフの辺集合は {(1,2),(2,4),(4,1)}\{(1, 2), (2, 4), (4, 1)\} であり、すべての頂点の入次数が 11、出次数が 11 となります。

4 5
1 2
2 3
2 4
1 4
4 3
-1

条件を満たす GG の誘導部分グラフは存在しません。

6 9
1 2
2 3
3 4
4 5
5 6
5 1
5 2
6 1
6 2
4
2
3
4
5