Алекс руководит запуском научного центра. Нужно выполнить n работ. Работа i занимает dᵢ минут и после начала выполняется без остановок.
Для некоторых пар работ указано требование: работа u должна закончиться прежде, чем начнётся работа v. Если у работы несколько предшественников, должны завершиться все. Приступить к работе можно ровно в момент завершения последнего предшественника.
Работы без предшественников можно начать в момент 0. Исполнителей и оборудования достаточно: независимые работы могут идти одновременно. Найдите минимальный момент, когда будут закончены все работы. Если требования противоречивы и выполнить все работы невозможно, выведите −1.
Входные данные
Первая строка содержит целые числа n и m (1 ≤ n ≤ 100 000, 0 ≤ m ≤ 200 000). Вторая строка содержит n целых длительностей dᵢ (1 ≤ dᵢ ≤ 109). Следующие m строк содержат u, v: работа u должна завершиться перед началом v. Номера различны и лежат от 1 до n. Одинаковых упорядоченных пар нет; циклы могут встречаться.
Выходные данные
Выведите минимальный момент завершения всех работ или −1.
Пояснения к примерам
Пример 1. Работы 1 и 2 начинаются одновременно. Работа 3 заканчивается в момент 9, работы 4 и 5 — в моменты 11 и 15, работа 6 — в момент 16.
Пример 2. Каждая работа в цикле ждёт завершения другой.
| № | Входные данные | Выходные данные |
|
1
|
6 6
3 5 4 2 6 1
1 3
2 3
3 4
3 5
4 6
5 6
|
16
|
|
2
|
3 3
1 2 3
1 2
2 3
3 1
|
-1
|