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
2014-10-17 11:59:39 deerishi
Union Find rocks!!
2014-10-04 11:57:50 Ankur Singh
simple bfs ^ - ^
2014-09-28 00:18:36 Ahmed TAILOULOUTE
I used Union Find, it's really nice.
2014-09-20 06:52:50 arkro
Got a lot of WA for writing "yes" and "no". Finally AC! :P
2014-09-05 11:05:13 Dhruv Raj Singh Rathore
what if graph is disjoint and separately both of them form a tree
6 4
1 2
1 3
4 5
4 6
2014-08-24 20:32:36 Brij Vaid
how to solve without dfs?
2014-08-22 08:07:26 do_do
union-find algorithm worked... :)
2014-08-16 01:58:44 anand pandey
[code removed by cyclops; see notes below, "1. Don't post any source code here."]

Last edit: 2014-08-16 04:21:23
2014-08-15 18:39:13 Naruto uzumaki
@jarvis this is a tree,
2014-08-12 20:40:11 Miroslav Kovar
Please, what are some tricky test cases? I am getting WA, although the algorithm works fine for everything I come up with...
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.