Задан ориентированный ациклический граф с \(n\) вершинами и \(m\) ребрами. Также задана перестановка вершин графа. Необходимо проверить, является ли данная перестановка топологической сортировкой.
В первой строке даны два числа \(n\) и \(m\) — количество вершин и ребер в графе соответственно (\(1 \leq n, m \leq 10^5\)). В следующих \(m\) строках заданы пары чисел \(u_i, v_i\), означающие, что в графе есть ребро из вершины \(u_i\) в вершину \(v_i\). В последней строке задана перестановка из \(n\) элементов.
Выведите "YES" (без кавычек), если данная перестановка является топологической сортировкой и "NO" в противном случае.
3 3 2 3 1 3 1 2 2 1 3
NO
3 3 3 2 1 2 3 1 3 1 2
YES
1000 ms 256 Mb Правила оформления программ и список ошибок при автоматической проверке задач