도시 발전
시간 제한3초메모리 제한512 MB
- 난이도
아직 분류되지 않았습니다
- 정답자
- 아직 제출이 없습니다
문제
바이츠버그 시는 역사 지구와 새 지구로 나뉩니다. 역사 지구는 개의 대로로 연결된 개의 광장으로 이루어진 트리입니다. 광장에는 1부터 까지 연속된 번호가 붙어 있습니다. 시의 중심 광장인 정점 1이 트리의 루트입니다.
처음에는 역사 지구만 있습니다. 시는 매년 다음과 같이 발전합니다. 그해 초에 광장이 개 있다고 합시다.
- 역사 지구의 광장 와, 이미 지어진 광장 (역사 지구 또는 새 지구의 광장)를 고릅니다.
- 역사 지구에서 를 루트로 하는 부분트리 전체를 새 지구로 복사합니다. 그다음 복사된 부분트리의 루트를 대로로 광장 에 잇습니다. 새로 지어진 모든 광장과 대로는 새 지구에 속합니다. 역사 지구는 바뀌지 않습니다.
- 부분트리 의 광장이 개라고 합시다. 새 광장에는 부터 까지 번호가 붙습니다. 에서 광장 의 번호가 광장 의 번호보다 작으면, 에 대응하는 광장 의 번호는 에 대응하는 광장 의 번호보다 작습니다.

역사 지구의 구성과 년 동안의 발전 기록이 주어집니다. 두 광장 사이의 최단 거리를 구하는 질의에 답하세요.
입력
첫 줄에 정수 , , 가 주어집니다. 각각 역사 지구의 광장 수, 새 지구를 지은 연수, 질의 수입니다 ().
다음 개의 줄에는 역사 지구에서 대로로 연결된 두 광장의 번호 와 가 주어집니다 (; ). 광장과 대로는 트리를 이룬다고 보장됩니다. 루트인 중심 광장의 번호는 1입니다.
다음 개의 줄에는 정수 와 가 주어집니다. 는 역사 지구에서 복사할 원래 광장의 번호이고, 는 복사본을 연결할 광장의 번호입니다 (; , 그리고 는 해당 연도 초의 광장 수를 넘지 않습니다).
다음 개의 줄에는 거리를 구할 두 광장의 번호 와 가 주어집니다. 년 건설 후의 전체 광장 수를 이라 하면, 입니다.
출력
각 질의에 대해 해당하는 두 광장 사이의 최단 거리를 나타내는 정수 하나를 출력합니다.