CSES - Saituri
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Tiedossasi on Syrjälän seudun kaupungit ja niiden väliset tiet. Jokaisella tiellä on kumpaankin suuntaan bussiyhteys.

Uolevi on luvannut viedä Maijan kiertomatkalle, joka alkaa ja päättyy samassa kaupungissa. Matkalla tulee olla vähintään kolme kaupunkia, eikä samassa kaupungissa saa käydä monta kertaa.

Kiertomatkan hinta on teiden määrä kiertomatkan aikana. Tehtäväsi on määrittää halvin mahdollinen hinta.

Syöte

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

Sitten syötteessä on m riviä, joista kullakin on kaksi kokonaislukua a ja b: kaupunkien a ja b välillä on tie.

Voit olettaa, että mistään kaupungista ei ole tietä itseensä ja kahden kaupungin välillä on enintään yksi tie.

Tuloste

Tulosta yksi kokonaisluku: halvin mahdollinen kiertomatkan hinta.

Jos kiertomatka ei ole edes mahdollinen, tulosta -1.

Rajat

  • 1 \le n \le 1000
  • 1 \le m \le 25000

Esimerkki

Syöte:

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

Tuloste:

3

Selitys: Mahdollinen kiertomatka on 2 \rightarrow 5 \rightarrow 4 \rightarrow 2.