Антон працює охоронцем. Він відповідає за об'єктів, які пронумеровані цілими числами від до . Також є n-1 дорога. -та дорога з'єднує об'єкти u_i та v_i, а також має довжину w_i. З кожного об'єкту можна дістатися до об'єкта .
На початку Антон знаходиться в об'єкті .
Визначимо пріоритетність кожного об'єкта, як мінімальну кількість доріг, яку потрібно пройти від цього об'єкта до об'єкта . Наприклад, для об'єкта це число буде ; для всіх об'єктів, які напряму з'єднані з — це буде ; і так далі.
Антону потрібно зробити обхід всіх об'єктів. Йому потрібно спочатку відвідати усі об'єкти, які мають пріоритетність , потім, які мають пріоритетність , і так далі. Якщо є кілька об'єктів з однаковою пріоритетністю, то Антон може самостійно вибирати у якому порядку їх відвідувати. Зверніть увагу, що відвідувати будь-який об'єкт з пріоритетом він може лише, якщо відвідав усі об'єкти з пріоритетом k-1.
Знайдіть мінімальну відстань, яку йому прийдеться пройти.
Перший рядок містить одне ціле число (1 \leq n \leq 10^6).
Другий рядок містить n-1 цілих чисел p_i, які показують, що є дорога від об'єкта i+1 до об'єкта p_i (1 \leq p_i \leq n);
Третій рядок містить n-1 цілих чисел w_i, які є довжинами доріг між об'єктами i+1 та p_i (1 \leq w_i \leq 10^9).
Гарантується, що з об'єкта можна дійти до всіх інших об'єктів.
Виведіть одне ціле число — відповідь на задачу.
Приклад 1
Приклад 2
Приклад 3
( бали): 1 \le n \le 10;
( балів): 1 \le n \le 22;
( балів): не більше об'єктів мають однакову пріоритетність;
( балів): не більше об'єктів мають однакову пріоритетність;
( балів): w_i = 1;
( балів): 1 \le n \le 10^5;
( балів): без додаткових обмежень.