Articulation points

No attempts yetTime limit1sMemory limit256 MB

Problem

You are given an undirected graph. Write a program that finds every articulation point of the graph.

An articulation point is a vertex whose removal breaks the graph into two or more pieces. In other words, a vertex is an articulation point when deleting it increases the number of connected components. Deleting a vertex also deletes every edge attached to it.

Input

The first line contains the number of vertices VV and the number of edges EE. (1V100001 \le V \le 10000, 1E1000001 \le E \le 100000)

Each of the next EE lines contains two integers AA and BB, meaning that vertex AA and vertex BB are joined by an edge. Every edge is undirected.

The vertices are numbered from 1 to VV. The given graph is not necessarily connected.

Output

Print the number of articulation points on the first line.

On the second line, print the numbers of the articulation points in increasing order, separated by one space. If there is no articulation point, leave the second line empty.