Contest Duration: ~ (local time) (100 minutes) Back to Home
F - Pure /

Time Limit: 2 sec / Memory Limit: 1024 MB

### 問題文

N 頂点 M 辺の有向グラフ G が与えられます。
このグラフの頂点には 1 から N までの番号が付けられており、i 番目の辺は頂点 A_i から頂点 B_i に向けて張られています。
このグラフは自己辺や多重辺を持たないことが保証されています。

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

### 注記

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

### 制約

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

### 入力

N M
A_1 B_1
A_2 B_2
:
A_M B_M


### 出力

K
v_1
v_2
:
v_K


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

### 入力例 1

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


### 出力例 1

3
1
2
4


### 入力例 2

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


### 出力例 2

-1


### 入力例 3

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


### 出力例 3

4
2
3
4
5


Score : 600 points

### Problem Statement

Given is a directed graph G with N vertices and M edges.
The vertices are numbered 1 to N, and the i-th edge is directed from Vertex A_i to Vertex B_i.
It is guaranteed that the graph contains no self-loops or multiple edges.

Determine whether there exists an induced subgraph (see Notes) of G such that the in-degree and out-degree of every vertex are both 1. If the answer is yes, show one such subgraph.
Here the null graph is not considered as a subgraph.

### Notes

For a directed graph G = (V, E), we call a directed graph G' = (V', E') satisfying the following conditions an induced subgraph of G:

• V' is a (non-empty) subset of V.
• E' is the set of all the edges in E that have both endpoints in V'.

### Constraints

• 1 \leq N \leq 1000
• 0 \leq M \leq 2000
• 1 \leq A_i,B_i \leq N
• A_i \neq B_i
• All pairs (A_i, B_i) are distinct.
• All values in input are integers.

### Input

Input is given from Standard Input in the following format:

N M
A_1 B_1
A_2 B_2
:
A_M B_M


### Output

If there is no induced subgraph of G that satisfies the condition, print -1. Otherwise, print an induced subgraph of G that satisfies the condition, in the following format:

K
v_1
v_2
:
v_K


This represents the induced subgraph of G with K vertices whose vertex set is \{v_1, v_2, \ldots, v_K\}. (The order of v_1, v_2, \ldots, v_K does not matter.) If there are multiple subgraphs of G that satisfy the condition, printing any of them is accepted.

### Sample Input 1

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


### Sample Output 1

3
1
2
4


The induced subgraph of G whose vertex set is \{1, 2, 4\} has the edge set \{(1, 2), (2, 4), (4, 1)\}. The in-degree and out-degree of every vertex in this graph are both 1.

### Sample Input 2

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


### Sample Output 2

-1


There is no induced subgraph of G that satisfies the condition.

### Sample Input 3

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


### Sample Output 3

4
2
3
4
5