Дано дерево з вершинами, пронумерованими від до . Коренем дерева є вершина .
У кожній вершині записано число p_i. Усі ці числа різні та утворюють перестановку чисел від до .
Назвемо інверсією пару вершин , для якої виконуються обидві умови:
Вершина є строгим предком вершини , тобто u \ne v і вершина лежить на шляху від кореня до вершини .
p_u > p_v.
Дозволено виконати не більше однієї операції: вибрати будь-яке ребро дерева та поміняти місцями числа, записані в його кінцях. Структура дерева при цьому не змінюється.
Знайдіть найбільшу можливу кількість інверсій після виконання не більше однієї операції.
У першому рядку задано ціле число (1 \leq n \leq 2 \cdot 10^5) — кількість вершин дерева.
У другому рядку задано цілих чисел p_1,p_2,\ldots,p_n (1 \leq p_i \leq n) — мітки вершин. Гарантується, що всі числа різні.
У кожному з наступних n-1 рядків задано два цілі числа та (1 \leq u,v \leq n, u \ne v), що означають наявність ребра між вершинами та .
Гарантується, що заданий граф є деревом.
Виведіть одне ціле число — найбільшу можливу кількість інверсій.
Приклад 1
Приклад 2
Приклад 3
У першому прикладі дерево складається з однієї вершини. Інверсій немає, а виконати операцію неможливо. Тому відповідь дорівнює .
У другому прикладі можна поміняти місцями числа у вершинах та . Після цього у вершині буде записано , а в усіх інших вершинах — менші числа. Оскільки вершина є предком кожної з решти чотирьох вершин, отримаємо інверсії. Більшої кількості досягти неможливо.
У третьому прикладі вершини утворюють шлях –––, а записані в них числа дорівнюють 4,3,2,1. Кожна пара різних вершин є інверсією, тому їхня кількість дорівнює . Це найбільша можлива кількість для чотирьох вершин, тож операцію виконувати не потрібно.
балів — 1 \leq n \leq 10.
балів — дерево є зіркою з центром у вершині .
балів — дерево є простим шляхом, одним із кінців якого є вершина .
балів — 1 \leq n \leq 3000.
балів — без додаткових обмежень.