CSES - Takaa-ajo
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Kaaleppi on juuri ryöstänyt pankin ja aikoo paeta kaupungista sataman kautta. Kuitenkin poliisi haluaa pysäyttää hänet sulkemalla joitakin katuja.

Mikä on pienin määrä katuja, jotka poliisin täytyy sulkea, jotta ei ole mitään reittiä pankista satamaan?

Syöte

Ensimmäisellä rivillä on kaksi kokonaislukua nn ja mm: risteysten ja katujen määrä. Risteykset on numeroitu 1,2,,n1,2,\dots,n. Pankki on risteyksessä 11 ja satama on risteyksessä nn.

Sitten tulee mm riviä, jotka kuvaavat kadut. Jokaisella rivillä on kaksi kokonaislukua aa ja bb: risteysten aa ja bb välillä on katu. Kaikki kadut ovat kaksisuuntaisia, ja kahden risteyksen välillä on enintään yksi katu.

Tuloste

Tulosta kokonaisluku kk: pienin mahdollinen suljettavien katujen määrä. Tulosta tämän jälkeen kk riviä, jotka kuvaavat kadut. Voit tulostaa minkä tahansa kelvollisen ratkaisun.

Rajat

  • 2n5002 \le n \le 500
  • 1m10001 \le m \le 1000
  • 1a,bn1 \le a,b \le n

Esimerkki

Syöte:

4 5
1 2
1 3
2 3
3 4
1 4

Tuloste:

2
3 4
1 4