PT07Y - Is it a tree

no tags 

You are given an unweighted, undirected graph. Write a program to check if it's a tree topology.

Input

The first line of the input file contains two integers N and M --- number of nodes and number of edges in the graph (0 < N <= 10000, 0 <= M <= 20000). Next M lines contain M edges of that graph --- Each line contains a pair (u, v) means there is an edge between node u and node v (1 <= u,v <= N).

Output

Print YES if the given graph is a tree, otherwise print NO.

Example

Input:
3 2
1 2
2 3

Output:
YES

Added by:Thanh-Vy Hua
Date:2007-03-28
Time limit:0.166s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel Pentium G860 3GHz)
Languages:All except: ERL JS
Resource:Co-author Amber

hide comments
Pavan Thangella: 2015-04-14 02:33:19

No need of any graph algorithms. Maintain a visited array is enough.

parmeet bhatia: 2015-03-28 13:32:50

Do not assume connected graph (one connected component). I got one WA because of that.

Harish Reddy Kolanu: 2015-02-18 14:56:43

Try using union find algorithm
executes in 0.00

Rahul Jain: 2015-01-25 01:19:39

@krishan kumar, the ans should also be NO

Ankur Mohanty: 2015-01-22 13:13:25

recommended for graph beginners

Kishlay Raj: 2015-01-11 19:09:03

easy stl set ;)

Last edit: 2015-01-11 19:09:17
Nick Jiang: 2015-01-08 10:07:07

Last edit: 2015-01-08 23:26:48
Anubhav Gupta: 2014-12-28 19:30:24

simple DFS :)