Даны корневое дерево с $n$ вершинами и $m$ пар $(x_i,y_i)$, где $x_i,y_i$ — вершины дерева.
Для вершин дерева $a,b$ определим $D(a,b)$ как число вершин, принадлежащих поддереву с корнем $a$, но не принадлежащих поддереву с корнем $b$.
Найдите минимальное остовное дерево полного графа, вершинами которого являются эти пары. Вес ребра между $(x_i,y_i)$ и $(x_j,y_j)$ равен $D(x_i,x_j)+D(x_j,x_i)+D(y_i,y_j)+D(y_j,y_i)$.
Входные данные
Данные считываются из стандартного ввода.
Первая строка содержит два числа $n,m$.
Следующая строка содержит $n-1$ чисел. Число на позиции $i$ задаёт родителя $f_{i+1}$ вершины с номером $i+1$. Гарантируется, что $f_{i+1}< i+1$.
Следующие $m$ строк содержат заданные пары: строка $i$ содержит два числа $x_i,y_i$.
Выходные данные
Выведите ответ в стандартный вывод.
Выведите одно целое число — сумму весов рёбер минимального остовного дерева.
Примеры
Входные данные 1
5 4 1 2 3 3 3 5 2 2 5 2 2 5
Выходные данные 1
7
Примечание
Минимальное остовное дерево содержит рёбра $(1,4,1),(2,3,3),(2,4,3)$. В каждой тройке указаны номер первой пары, номер второй пары и вес ребра. Сумма весов рёбер равна $7$.
Подзадачи
Для $10\%$ тестов выполняется $1\le n,m\le 1000$.
Ещё для $10\%$ тестов выполняется $1\le m\le 2\times 10^4$.
Ещё для $10\%$ тестов выполняется $1\le m\le 5\times 10^4$.
Ещё для $20\%$ тестов выполняется $m=n^2$, и все пары различны.
Ещё для $10\%$ тестов для всех $i=2\cdots n$ выполняется $f_i=i-1$.
Ещё для $10\%$ тестов для всех $i=2\cdots n$ выполняется $f_i=1$.
Для $100\%$ тестов выполняется $1\le n\le 10^6,1\le m\le 10^5$. Для всех $i=1,2,\dots n-1$ выполняется $1\le f_{i+1} < i+1$. Для всех $i=1,2,\dots m$ выполняется $1\le x_i,y_i\le n$.