Дерево мінімальної глибини
Обмеження: 2 сек., 256 МіБ
Задано кореневе дерево з nn вершинами з коренем у вершині 1.
Є mm дозволених операцій, що задані парами числами (ai,bi)(ai,bi). Операція (u,v)(u,v) означає перепідвісити піддерево вершини vv (включно із самою вершиною vv) до вершини uu. Забороняється використовувати операцію (u,v)(u,v), якщо вершина uu є в піддереві вершини vv.
Виконавши будь-яку кількість операцій у довільному порядку, яку мінімальну глибину дерева можна отримати?
Вхідні дані
У першому рядку задано ціле число nn — кількість вершин у дереві.
У наступних n−1n−1 рядках записано по два цілих числа uiui, vivi — кінці ребер дерева.
У наступному рядку задано ціле число mm — кількість дозволених операцій.
У наступних mm рядках задано пари чисел aiai, bibi — дозволені операції.
Вихідні дані
У єдиному рядку виведіть ціле число — мінімальну глибину дерева.
Обмеження
1≤n,m≤3⋅1051≤n,m≤3⋅105,
1≤ui,vi,ai,bi≤n1≤ui,vi,ai,bi≤n.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
8 1 5 1 2 2 3 3 4 5 6 6 8 4 7 2 1 4 8 7 | 3 |
Примітки
Глибина дерева — це довжина найдовшого шляху від кореня до будь-якої іншої вершини.