PT07Y - Is it a tree

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.5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO
Resource:Co-author Amber

hide comments
2017-08-13 20:12:03
my code got accepted on codechef but was'nt accepted by spoj
2017-08-08 06:42:07
AC in one GO !!
simple dfs
2017-07-22 08:11:38
I used DFS but getting NZEC error :|
2017-07-18 12:23:07
good use of DSU no need of DFS :P AC in first go
2017-07-13 14:05:38
you just need to know what is a tree topology. Thereafter it is a cakewalk.
2017-07-10 09:50:21
Connected and |e|=|v|-1 !
2017-07-06 17:29:26
Nice Question.!!
check for parent and unvisited nodes.
2017-06-24 01:21:57
Use Disjoint Set, Straightforward :D AC in One Go
2017-06-20 14:43:40
cases are too weak.
2017-06-12 11:59:38
if(m!=n-1 || n==1)cout<<"NO";

then run dfs....check cycle...if not YES else no

AC!!...easy
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.