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
2015-01-11 19:09:03 Kishlay Raj
easy stl set ;)

Last edit: 2015-01-11 19:09:17
2014-12-28 19:30:24 Anubhav Gupta
simple DFS :)
2014-12-09 18:51:22 agaurav77
A basic implementation of union find algorithm works, so agreed, hussein. AC!
2014-12-04 12:59:44 Shivam Mitra
BFS using adjacency matrix: 0.16s,385M
BFS using adjacency list: 0.00s,3M
:p
2014-11-08 15:05:16 hussein
A simple loop with parents array is enough .. no need for DFS or BFS or any graph traversal algo
2014-10-31 11:28:43 Madhur Bhargava
Learnt Union Find :)
2014-10-21 14:20:31 NiRaNjan_gOud
how to solve without using dfs.
2014-10-20 07:48:54 Siddhant Garule
tle with dfs, bfs works fine
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.