CSES - Turhat tiet II
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Bittimaassa on n kaupunkia, joiden välillä on m tietä. Minkä tahansa kahden kaupungin välillä on jokin reitti.

Tehtäväsi on selvittää, mitkä teistä ovat turhia: jos tien poistaa ja muut tiet säilyvät ennallaan, jokaisen kaupungin välillä on edelleen reitti.

Syöte

Syötteen ensimmäisellä rivillä on kaksi kokonaislukua n ja m: kaupunkien ja teiden määrä. Kaupungit on numeroitu 1,2,\dots,n.

Sitten syötteessä on m riviä, jotka kuvaavat tiet. Jokaisella rivillä on kaksi kokonaislukua a ja b: kaupunkien a ja b välillä on tie. Jokainen tie on kaksisuuntainen, yhdistää kaksi eri kaupunkia ja sama tie ei toistu monta kertaa.

Tuloste

Tulosta ensin kokonaisluku k: turhien teiden määrä.

Tulosta sitten k riviä, jotka kuvaavat turhat tiet. Voit tulostaa tiet missä tahansa järjestyksessä ja kummin päin tahansa.

Rajat

  • 1 \le n \le 2 \cdot 10^5
  • 0 \le m \le 5 \cdot 10^5
  • 1 \le a,b \le n

Esimerkki

Syöte:

4 4
1 2
1 3
2 3
2 4

Tuloste:

3
1 2
1 3
2 3