Ralli süvakosmoses

시간 제한1초메모리 제한1024 MB

요약
간선 k의 연료 비용이 2^k인 무방향 연결 그래프에서 두 정점 사이의 최소 연료 비용을 1e9+7로 나눈 나머지를 여러 질의에 대해 구한다.
난이도

어려움10점 중 8점

유형
그래프, 최소 신장 트리, 그리디, 유니온 파인드
정답자
아직 제출이 없습니다

문제

Vastavalt Tsiolkovski valemile kulub raketi kiirendamiseks paigalseisust kiiruseni vv kütust kogumassiga \[ m = m_0\left(e^{\frac{v}{u}} - 1\right), \] kus m_0m\_0 on raketi tühimass ja uu kütuse heitekiirus. Valem töötab tingimusel, et kiirendamise käigus tehakse kütusepaak tühjaks.

Selles ülesandes eeldame, et raketi kütusepaak on lõputu mahuga, m_0=1m\_0 = 1, u=1u = 1, e≈2e \approx 2 ja evu≫1e^{\frac{v}{u}} \gg 1. Sel juhul kulub raketi kiirendamiseks kiiruseni vv kütust 2v2^{v} ühikut.

Kosmoses korraldatakse ralli, mis koosneb VV kontrollpunktist ja EE kahesuunalisest takistusrajast, mis ühendavad kontrollpunkte. Takistusraja number kk läbimiseks on vaja kiirendada rakett kiiruseni kk.

Iga kontrollpunkti läbimiseks peab rakett täielikult peatuma, kusjuures pidurdamine kütust ei kuluta. Kontrollpunktides on võimalik raketi kütusepaaki täita.

Lisaks on teada, et ühtki kontrollpunktide paari ei ühenda rohkem kui üks takistusrada, ükski takistusrada ei ühenda mõnda kontrollpunkti iseendaga ja igast kontrollpunktist pääseb mööda takistusradu igasse teise kontrollpunkti.

Ralli koosneb QQ etapist, igas etapis on vaja liikuda mingist kontrollpunktist pp mingisse kontrollpunkti qq. Leida iga etapi läbimiseks vajalik kütusekulu. Kuna kütusekulud võivad olla väga suured, väljastada nad mooduli 109+710^9 + 7 järgi.

입력

Tekstifaili esimesel real on kolm tühikutega eraldatud täisarvu: kontrollpunktide arv VV (1≤V≤1051 \le V \le 10^5), takistusradade arv EE (1≤E≤3⋅1051 \le E \le 3 \cdot 10^5) ning etappide arv QQ (1≤Q≤1051 \le Q \le 10^5).

Järgmisel EE real on igaühel kaks tühikuga eraldatud täisarvu aa ja bb (1≤a≤V1 \le a \le V, 1≤b≤V1 \le b \le V), mis näitavad, et kontrollpunktid aa ja bb on ühendatud kahesuunalise takistusrajaga. Faili real number k+1k + 1 kirjeldatakse takistusrada number kk.

Järgmisel QQ real on igaühel kaks tühikuga eraldatud täisarvu pp ja qq (1≤p≤V1 \le p \le V, 1≤q≤V1 \le q \le V), mis näitavad, mis kontrollpunktides etapp vastavalt algab ja lõppeb.

출력

Tekstifaili väljastada QQ rida, igale reale ühe etapi läbimise minimaalne kütusekulu. Etappide kütusekulud väljastada samas järjekorras, milles etapid sisendis anti.

예제1

  1. 예제 1

    입력
    4 6 3
    1 2
    3 2
    1 3
    4 1
    4 3
    2 4
    4 1
    1 3
    2 3
    
    예상 출력
    16
    6
    4