Задача №114091. Топологическая сортировка

Задан ориентированный ациклический граф с \(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
Сдать: для сдачи задач необходимо войти в систему