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 SCM chicken
Resource:Co-author Amber

hide comments
hussein: 2014-11-08 15:05:16

A simple loop with parents array is enough .. no need for DFS or BFS or any graph traversal algo

Madhur Bhargava: 2014-10-31 11:28:43

Learnt Union Find :)

NiRaNjan_gOud: 2014-10-21 14:20:31

how to solve without using dfs.

Siddhant Garule: 2014-10-20 07:48:54

tle with dfs, bfs works fine

deerishi: 2014-10-17 11:59:39

Union Find rocks!!

Ankur Singh: 2014-10-04 11:57:50

simple bfs ^ - ^

Ahmed TAILOULOUTE: 2014-09-28 00:18:36

I used Union Find, it's really nice.

arkro: 2014-09-20 06:52:50

Got a lot of WA for writing "yes" and "no". Finally AC! :P

Dhruv Raj Singh Rathore: 2014-09-05 11:05:13

what if graph is disjoint and separately both of them form a tree
6 4
1 2
1 3
4 5
4 6

Brij Vaid: 2014-08-24 20:32:36

how to solve without dfs?