EduBrick

C. Когда порядок определён однозначно

1000 мс · 256 МБ · всё или ничего

Про неизвестную перестановку по очереди сообщают факты вида «на позиции xx число меньше, чем на позиции yy». Найдите наименьшее число фактов, после которого перестановка восстанавливается однозначно.

Формат ввода

В первой строке - числа nn и mm (2≤n≤1052 \le n \le 10^5, 1≤m≤1051 \le m \le 10^5): длина перестановки и количество фактов.

В следующих mm строках - пары xix_i, yiy_i (xi≠yix_i \ne y_i): на позиции xix_i число меньше, чем на позиции yiy_i. Пары не повторяются, и хотя бы одна перестановка, удовлетворяющая всем фактам, существует.

Формат вывода

Выведите наименьшее kk, при котором первых kk фактов достаточно для однозначного восстановления перестановки, или -1, если её нельзя восстановить и по всем фактам.

Примеры

ввод
5 5
5 1
3 2
2 4
4 5
3 5
вывод
4
ввод
4 2
4 2
2 3
вывод
-1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.