Развитие города
문제
Город Байтсбург состоит из исторической части и новой части. Историческая часть Байтсбурга представляет собой дерево из площадей, соединённых проспектами. Площади занумерованы последовательными целыми числами от 1 до . Главная площадь города --- вершина --- является корнем дерева.
Изначально город состоял только из исторической части. Каждый год город развивается следующим образом. Пусть в начале года в городе площадей.
- Выбирается какая-то площадь в исторической части и какая-то площадь среди уже построенных на данный момент (в исторической или в новой части).
- Поддерево исторической части с корнем в вершине целиком копируется в новую часть, после чего корень скопированного поддерева соединяется проспектом с площадью . Все построенные объекты (площади и проспекты) относятся к новой части --- историческая часть города остаётся неизменной.
- Пусть поддерево состоит из площадей. Тогда новые площади получают номера от до , при этом если в поддереве номер площади меньше номера площади , то номер площади , соответствующей площади , меньше номера площади , соответствующей площади .
[이미지 1]
Вам дана конфигурация исторической части города и данные о его развитии в течение лет. Ваша задача --- отвечать на запросы вида <<найти кратчайшее расстояние между двумя площадями>>.
입력
Первая строка входных данных содержит три целых числа , и --- число площадей в исторической части, число лет, в течение которых застраивалась новая часть, и число запросов соответственно ().
Каждая из последующих строк содержит по два целых числа и --- номера двух площадей в исторической части, соединённых очередным проспектом (; ). Гарантируется, что конфигурация проспектов и площадей является деревом. Главная площадь, которая является корнем дерева, имеет номер 1.
Каждая из последующих строк содержит по два целых числа и --- номер исходной площади в исторической части и номер площади, к которой присоединяется копия (; , не превосходит числа площадей на начало соответствующего года).
Каждая из последующих строк содержит по два целых числа и --- номера площадей, расстояние между которыми требуется найти. Пусть --- общее число площадей по прошествии лет застройки новой части, тогда .
출력
Для каждого запроса выведите одно целое число --- кратчайшее расстояние между соответствующими площадями.
예제
예제 1
5 2 4 1 3 1 4 3 2 3 5 3 4 4 2 5 9 1 8 6 3 4 7
3 3 4 1