Given an undirected graph with v vertices and e edges, you are asked to check if it’s efficient. A graph is considered efficient if it is possible to travel from any node to any other node by traversing at most 2 edges.
Input
The first line of the input contains two integers v (1 ≤ v ≤ 100) and e (1 ≤ e ≤ 10 000).
The following e lines contain pairs of integers v1, v2 (1 ≤ v1, v2 ≤ v) representing an edge between v1 and v2.
Output
The program should print Yes if the graph is efficient, and No otherwise.
Examples
Input
Output
4 3
1 2
2 3
3 1
No
4 4
1 2
2 3
3 1
1 4
Yes
Explanation
Vertex 4 is not connected to the others ⇒ it’s not possible to get from vertex 4 to any other by traversing at most 2 edges.
It’s possible to get to any vertex from any other vertex by traversing at most 2 edges.