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

hide comments
Viktor Fonic: 2013-06-26 09:27:17

Test cases are weak. Here's test case that prints "YES", but should print "NO":
10 8
7 9
9 1
5 1
3 5
5 6
10 4
10 8
3 7

Tim Lansen: 2013-04-03 10:07:34

It's test cases are very weak. The biggest tree grows consistently from edge list, no subtree merge needed when using stream analysis. The 1st hack that works is to check that every new link belongs to set of connected nodes.

kamalesh: 2013-03-26 09:11:20

my 150th solution!!!!!!

coding_express: 2013-03-06 19:07:29

please post some inputs

Aayush: 2013-01-11 09:42:15

Last edit: 2013-01-11 09:56:51
Paul Draper: 2012-11-21 03:31:53

Weak test cases. Trees are always built in order; i.e. no
4 3
1 2
3 4
1 3

kailash: 2012-11-14 19:51:05

Can I get some test cases.
My code is working for my inputs but spoj is showing WA.

Ashwin Menon: 2012-09-19 22:15:01

Are the nodes contiguous?

1, 2, 3 ... N?

KEVALSAHU: 2013-12-30 05:22:25

simple problem guys :)

Last edit: 2012-08-26 01:14:34

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