아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Иерархия цитадели

시간 제한1초메모리 제한1024 MB

요약
릭 내부 노드와 모티 잎으로 이루어진 레벨 트리에서 각 릭이 자식 순서를 바꿔 잎의 번호를 오름차순으로 정렬할 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
트리, DFS, 그리디, 구현
정답자
아직 제출이 없습니다

문제

Как известно, в Цитадели Риков обитает бесчисленное множество Риков и Морти (а именно --- nn Риков и mm Морти). Чтобы в новой Цитадели не было полного хаоса, было решено построить четкую иерархию, благодаря которой всегда можно будет быстро определить \sout{какой Морти} кто виноват в том или ином проишествии.

Для начала было решено пронумеровать всех Риков по уменьшению важности от 11 до nn, а Морти --- по увеличению неважности от 11 до mm. Иерархию обитателей цитадели решили изобразить в виде подвешенного дерева, при чем \begin{itemize} \item в дереве ровно nn внутренних вершин и mm листьев, и все листья дерева находятся на одной глубине; \item все внутренние вершины заняты Риками, а все листья заняты Морти (разумеется, все Морти должны находиться в самом низу иерархии); \item номера всех Риков на любом уровне меньше, чем номера Риков на следующих уровнях (в частности, в корне дерева всегда находится Верховный Рик под номером 11); \item на каждом уровне Рики пронумерованы по возрастанию слева-направо; \item у каждого Рика до предпоследнего слоя есть хотя бы два непосредственных подчиненных. \end{itemize}

Рики, разумеется, быстро справились с построением такой иерархии, а вот Морти в панике выстроились на нижнем уровне в каком-то случайном порядке. Посмотрев на этот хаос, Рики решили, что раз они все равно не очень любят правила, то правило про упорядоченность Риков на каждом уровне можно отменить, а вот Морти на нижнем уровне надо упорядочить по возрастанию номеров слева-направо.

Для этого каждому Рику было разрешено поменять своих непосредственных подчиненных местами произвольным образом. При этом менять множество своих подчиенных, то есть брать новых или отдавать старых кому-то еще, а также перемещаться на другой уровень иерархии, запрещено. Получится ли у Риков таким образом упорядочить всех Морти по возрастанию? Ниже приведен пример возможного решения:

Изначальная иерархия и действия, необходимые для упорядочивания Морти.

입력

В первой строке через пробел перечислены два целых числа nn и mm --- количество Риков и Морти в Цитадели, соответственно (2⩽n,m⩽1052 \leqslant n, m \leqslant 10^5).

Во второй строке через пробел перечислены mm различных целых чисел a_ia\_i --- номера Морти в порядке их следования в изначально построившейся иерархии слева-направо (1⩽a_i⩽m1 \leqslant a\_i \leqslant m).

В следующей строке через пробел перечислены числа p_2p\_2, \ldots, p_np\_n --- номера непоредственных начальников Риков с номерами от 22 до nn (1⩽p_i<i1 \leqslant p\_i < i).

В следующей строке, аналогично, перечислены mm целых чисел q_1q\_1, \ldots, q_mq\_m --- номера непосредственных начальников всех Морти, в порядке, в котором они следуют в исходной иерархии (1⩽q_i⩽n1 \leqslant q\_i \leqslant n). Обратите внимание, что q_1q\_1 --- номер начальника Морти с номером a_1a\_1, а не с номером 11.

Гарантируется, что структура иерархии соответствует заданным в условии ограничениям.

출력

В единственной строке выведите <<YES>> (без кавычек), если Рики, меняя местами непосредственных подчиненных, могут упорядочить всех Морти по возрастанию номеров, и <<NO>> иначе.

예제2

  1. 예제 1

    입력
    4 4
    1 3 2 4
    1 1 1
    2 2 3 4
    
    예상 출력
    NO
    
  2. 예제 2

    입력
    8 10
    10 9 8 3 4 5 7 6 1 2
    1 1 2 2 3 3 3
    4 5 5 6 6 7 7 7 8 8
    
    예상 출력
    YES