Задача №114672. Новые кампусы!

Недавно вы стали ректором одного из университетов и решили открыть в нем новую программу! На ней вы будете учить студентов спортивному программированию. Поэтому у них будут два типа занятий: спорт (чтобы развить силу рук) и программирование. Основным достоинством этой программы будет обучение в двух кампусах одновременно — по четным дням студенты будут ездить в первый кампус, а по нечетным — во второй.

Оба кампуса вашего университета устроены очень необычно: в каждом из них есть по \(n\) аудиторий, пронумерованных от \(1\) до \(n\), и по \(n - 1\) переходу между ними, при этом из любой аудитории можно добраться в любую другую по переходам.

Однако вы обнаружили, что студентам сложно ориентироваться сразу в двух кампусах, и решили упростить им жизнь. Вы решили выбрать два номера аудиторий \(u\) и \(v\) (\(u \neq v\)): в аудитории с номером \(u\) студенты будут заниматься спортом, а в аудитории с номером \(v\) — программированием. Обратите внимание, что \(u\) и \(v\) выбираются одинаковыми для обоих кампусов.

Так как вы хотите, чтобы студенты тратили меньше времени на перемещение между аудиториями, вам нужно минимизировать суммарное расстояние, которое потребуется преодолеть студентам между выбранными аудиториями в каждом из кампусов. Более формально, вам нужно найти такие номера \(u, v\), что \(d_1(u, v) + d_2(u, v)\) минимально, где \(d_1(u, v)\) — это расстояние между аудиториями \(u\) и \(v\) в первом кампусе, а \(d_2(u, v)\) — во втором. Расстоянием между аудиториями называется минимальное число переходов, через которые нужно пройти, чтобы добраться из одной аудитории в другую.

В обоих кампусах есть вход, и он ведет в аудиторию \(1\). Для всех остальных аудиторий разработан план эвакуации. В первом кампусе для \(i\)-й аудитории \(p_i\) равно номеру следующей аудитории на пути из \(i\)-й аудитории в первую. Во втором кампусе для \(i\)-й аудитории \(q_i\) равно номеру следующей аудитории на пути из \(i\)-й аудитории в первую.

Входные данные

В первой строке входных данных содержится одно целое число \(n\) (\(2 \leq n \leq 10^6\)) — количество аудиторий.

В следующей строке находятся \(n - 1\) целых чисел \(p_2\), \(p_3\), \(p_4\), ..., \(p_n\) (\(1 \le p_i \le n\)), где \(p_i\) — это следующая (кроме \(i\)) аудитория на пути от \(i\)-й до первой в первом кампусе.

В следующей строке находятся \(n - 1\) целых чисел \(q_2\), \(q_3\), \(q_4\), ..., \(q_n\) (\(1 \le q_i \le n\)), где \(q_i\) — это следующая (кроме \(i\)) аудитория на пути от \(i\)-й до первой во втором кампусе.

Выходные данные

В первой строке выведите минимальную величину \(d_1(u, v) + d_2(u, v)\).

Во второй строке выведите любую пару вершин \(u, v\), таких что \(d_1(u, v) + d_2(u, v)\) минимально.

Примечание

В первом примере в первом кампусе есть переходы между аудиториями 3 и 2, 1 и 3, 2 и 4, 3 и 5. Во втором кампусе есть переходы между аудиториями 5 и 2, 4 и 3, 1 и 4, 3 и 5.

Система оценки

Тесты к этой задаче состоят из 12 групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов некоторых из предыдущих групп. Обратите внимание, прохождение тестов из условия не требуется для некоторых групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования.

Доп. ограничения
Группа Баллы \(n\) Необх. группы Комментарий
0 0 Тесты из условия.
1 12 \(n \le 500\) 0
2 11 \(n \le 5000\) 0, 1
3 8 \(n \le 50\,000\) 0, 1, 2
4 11 \(n \le 100\,000\) В первом кампусе существует аудитория, соединенная прямыми переходами со всеми остальными аудиториями
5 12 \(n \le 100\,000\) В обоих кампусах для каждой аудитории существует не более двух переходов в соседние аудитории
6 10 \(n \le 100\,000\) 5 В первом кампусе для каждой аудитории существует не более двух переходов в соседние аудитории
7 9 \(n \le 100\,000\) 0 – 6
8 10 \(n \le 200\,000\) 0 – 7
9 11 \(n \le 300\,000\) 0 – 8 Offline-проверка.
10 3 \(n \le 500\,000\) 0 – 9 Offline-проверка.
11 2 \(n \le 750\,000\) 0 – 10 Offline-проверка.
12 1 0 – 11 Offline-проверка.
Примеры
Входные данные
5
3 1 2 3
5 4 1 3
Выходные данные
2
5 3
Входные данные
5
5 1 2 3
4 4 1 4
Выходные данные
2
2 4
Входные данные
7
1 2 2 7 1 3
5 5 5 1 5 2
Выходные данные
3
2 1
Входные данные
9
5 2 1 4 9 8 3 7
1 4 7 9 8 2 5 3
Выходные данные
4
2 1
Сдать: для сдачи задач необходимо войти в систему