Сортування червоточин#9601

Сортування червоточин

2 секунди
128 мегабайтів
Дуже легка

Корови фермера Джона втомилися від його щоденної вимоги сортуватися перед тим, як щоранку залишити хлів. Вони щойно отримали degrees PhD з квантової фізики та готові трохи прискорити цей процес.

Сьогодні вранці, як звичайно, корів фермера Джона, зручно пронумерованих від , знаходяться в хліві в різних місцях, також пронумерованих від , причому корова знаходиться в місці p_i. Однак сьогодні вранці в хліві також є червоточин, пронумерованих від . Червоточина двонапрямлено з'єднує місця a_i та b_i і має ширину w_i.

У будь-який момент часу дві корови, що знаходяться на протилежних кінцях червоточини, можуть одночасно поміняти місцями, перемістившись через цю червоточину. Корови повинні виконувати такі обміни до тих пір, поки для кожної 1 \leq i \leq n корова не опиниться в місці .

Корови не хочуть застрягати в занадто вузьких червоточинах. Допоможіть їм максимізувати мінімальну ширину серед усіх червоточин, які їм знадобиться використовувати для сортування.

Вхідні дані

У першому рядку знаходяться два цілих числа n~(1 \le n \le 10^5) і m~(1 \le m \le 10^5).

У другому рядку знаходяться цілих чисел p_1, p_2, \ldots, p_n. Гарантується, що є перестановкою чисел .

Для кожного від до у рядку i + 2 знаходяться цілі числа a_i, b_i та w_i~(1 \le a_i, b_i \le n, a_i \neq b_i, 1 \le w_i \le 10^9).

Вихідні дані

Виведіть одне ціле число: максимально можливе значення мінімальної ширини серед усіх червоточин, використаних у процесі сортування. Якщо коровам не потрібно використовувати жодної червоточини для сортування, виведіть .

Приклади

Ось один із можливих способів відсортувати корів, використовуючи лише червоточини шириною не менше :

  • Корова і корова міняються місцями за допомогою третьої червоточини.

  • Корова і корова міняються місцями за допомогою першої червоточини.

  • Корова і корова міняються місцями за допомогою третьої червоточини.

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading