Module: Sistema di insiemi disgiunti


Problem

2 /9


Isole

Problem

Uno stato sparso sulle isole dell'Oceania ha deciso di creare una rete di strade (o meglio, di ponti). Ogni ponte può essere navigato in entrambe le direzioni. È stato sviluppato un piano sequenziale per la costruzione dei ponti ed è noto che dopo la costruzione di tutti i ponti sarà possibile attraversarli da un'isola all'altra (magari attraverso alcune isole intermedie
 
Tuttavia, questo momento potrebbe arrivare prima che tutti i ponti siano costruiti. È necessario determinare un numero minimo di ponti, dopo la cui costruzione (nell'ordine determinato dal piano), sarà possibile spostarsi da qualsiasi isola a qualsiasi altra.
 
Input
La prima riga contiene due numeri: il numero di isole N (1≤N≤10000) e il numero di ponti in pianta M (1≤M≤50000). Poi ci sono M linee, ciascuna contenente due numeri x e y (1≤x,y≤N) - i numeri delle città che sono collegate dal ponte successivo nella pianta.
 
Uscita
Il programma dovrebbe produrre un singolo numero: il numero minimo di ponti costruiti, dopodiché sarà possibile spostarsi da un'isola all'altra.
 
Input Uscita
4 5
1 2
1 3
2 3
3 4
4 1
4