시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB395514.286%

문제

Justas planuoja sukurti programėlę, leidžiančią žmonėms dalintis kelionėmis automobiliu. Pirmiausia jam reikia parašyti programą, kuri leistų rasti trumpiausią atstumą tarp dviejų namų.

Mieste, kuriame veiks programėlė, yra N namų, sunumeruotų nuo 1 iki N. Namus tiesiogiai jungia N dvikrypčių gatvių. Viena gatvė jungia lygiai du namus ir du namus jungia ne daugiau kaip viena gatvė.

Justas jau parašė algoritmą, kuris leidžia rasti trumpiausią kelią tarp dviejų namų, kai yra tik vienas būdas nuvažiuoti iš vieno namo į kitą, nevažiuojant pro tą patį namą daugiau nei kartą. Tačiau jam reikia jūsų pagalbos rasti trumpiausią kelią tarp tokių namų porų, tarp kurių nuvažiuoti yra daugiau nei vienas toks būdas.

Raskite trumpiausią atstumą tarp Q namų porų.

입력

Pirmoje eilutėje pateikiami du sveikieji skaičiai: namų skaičius N ir užklausų skaičius Q.

Tolimesnėse N eilučių pateikiama po du tarpu atskirtus sveikuosius skaičius ai ir bi. Šie skaičiai nurodo, kad mieste egzistuoja gatvė tarp namų ai ir bi.

Likusiose Q eilučių pateikiama po du tarpu atskirtus sveikuosius skaičius cj ir dj.

출력

Išveskite Q eilučių. k-toje eilutėje pateikite vieną skaičių – trumpiausio kelio tarp namų ck ir dk ilgį. Atstumą tarp dviejų namų Justas skaičiuoja kaip gatvių, kuriomis reikia važiuoti, skaičių.

제한

  • 3 ≤ N ≤ 200 000
  • 1 ≤ ai, bi ≤ N (1 ≤ i ≤ N, ai ≠ bi)
  • 1 ≤ Q ≤ 1 000 000
  • 1 ≤ cj, dj ≤ N (1 ≤ j ≤ Q, cj ≠ dj).
  • Iš cj į dj galima patekti daugiau nei vienu (nebūtinai trumpiausiu) keliu, kuris pro jokį namą neina daugiau negu vieną kartą.
  • Iš bet kurio namo gatvėmis visada bus galima nukeliauti iki bet kurio kito namo.

서브태스크

번호배점제한
121

N, Q ≤ 1 000

218

N ≤ 100

310

N ≤ 1 000

417

Prie kiekvieno namo yra lygiai dvi gatvės

59

Prie visų namų, išskyrus tris, yra tik viena gatvė

625

Papildomų ribojimų nėra

예제 입력 1

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

예제 출력 1

3

Namus 1 ir 5 jungia du keliai:

  • 1 → 2 → 3 → 4 → 5
  • 1 → 2 → 4 → 5

Pirmo kelio ilgis yra 4, o antro – 3. Išvedame trumpiausią, t. y. 3.

채점 및 기타 정보

  • 예제는 채점하지 않는다.