CSES - Porukat
  • Time limit: 1.00 s
  • Memory limit: 128 MB
Uolevin luokalla on $n$ oppilasta. Vuoden alussa kukaan ei tunne toista, mutta oppilaat alkavat ystävystyä. Merkintä $a \leftrightarrow b$ tarkoittaa, että oppilaat $a$ ja $b$ ovat ystäviä.

Pikkuhiljaa luokkaan alkaa myös muodostua porukoita. Oppilaat $a$ ja $b$ kuuluvat samaan porukkaan, jos on olemassa ketju $a \leftrightarrow x_1 \leftrightarrow x_2 \leftrightarrow \cdots \leftrightarrow x_k \leftrightarrow b$.

Tehtäväsi on laskea porukoiden määrä jokaisen uuden ystävyyden jälkeen.

Syöte

Syötteen alussa on kaksi kokonaislukua $n$ ja $m$: oppilaiden määrä ja ystävyyksien määrä.

Sitten syötteessä on $m$ riviä, joista jokainen kuvaa ystävyyden. Rivillä on kaksi kokonaislukua $a$ ja $b$: oppilaat $a$ ja $b$ ystävystyvät.

Oppilas ei voi ystävystyä itsensä kanssa, ja samat kaksi oppilasta eivät voi ystävystyä useita kertoja.

Tuloste

Tulosta jokaisen ystävyyden jälkeen porukoiden määrä.

Rajat
  • $1 \le n \le 10^5$
  • $1 \le m \le 2 \cdot 10^5$
  • $1 \le a,b \le n$
Esimerkki

Syöte:
5 4
1 2
1 3
2 3
4 5


Tuloste:
4 3 3 2