Дерево мінімальної глибини
Обмеження: 2 сек., 256 МіБ
Задано кореневе дерево з n вершинами з коренем у вершині 1.
Є m дозволених операцій, що задані парами числами (ai,bi). Операція (u,v) означає перепідвісити піддерево вершини v (включно із самою вершиною v) до вершини u. Забороняється використовувати операцію (u,v), якщо вершина u є в піддереві вершини v.
Виконавши будь-яку кількість операцій у довільному порядку, яку мінімальну глибину дерева можна отримати?
Вхідні дані
У першому рядку задано ціле число n — кількість вершин у дереві.
У наступних n−1 рядках записано по два цілих числа ui, vi — кінці ребер дерева.
У наступному рядку задано ціле число m — кількість дозволених операцій.
У наступних m рядках задано пари чисел ai, bi — дозволені операції.
Вихідні дані
У єдиному рядку виведіть ціле число — мінімальну глибину дерева.
Обмеження
1≤n,m≤3⋅105,
1≤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 |
Примітки
Глибина дерева — це довжина найдовшого шляху від кореня до будь-якої іншої вершини.