Verificare se un grafo è bilanciato

Un grafo diretto si definisce bilanciato se, per ogni vertice, il numero di archi entranti è uguale al numero di archi uscenti. Dato un grafo con v vertici e e archi, il compito è determinare se questo grafo sia bilanciato.

Input

La prima riga dell'input contiene due interi v (1 ≤ v ≤ 100 000) ed e (1 ≤ e ≤ 100 000).

Le successive e righe contengono coppie di interi v1, v2 (1 ≤ v1, v2 ≤ v) che indicano che il vertice v1 è connesso al vertice v2 e viceversa.

Output

Il programma deve stampare Yes se il grafo è bilanciato e No altrimenti.

Esempi

Input

Output

3 2
1 2
2 3

No

3 3
1 2
2 3
3 1

Yes

Spiegazione

profound.academy-graphs-2.drawio.png
Esempio 1: Il vertice 1 non ha archi entranti ma ha 1 arco uscente ⇒ il grafo non è bilanciato.
profound.academy-graphs-2.drawio (1).png
Esempio 2: Tutti i vertici hanno 1 arco entrante e 1 uscente ⇒ il grafo è bilanciato.

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue