Грустные танцы

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

요약
순열 a가 주어질 때, 0보다 큰 어떤 거듭제곱이 모든 i를 b_i로 보내는지 판정한다.
난이도

보통10점 중 6점

유형
조합론, 수학, 구현
정답자
아직 제출이 없습니다

문제

Во Флатляндии проводится ежегодный турнир по танцам!

Из города NNNN приехала команда, состоящая из nn танцоров, и вот настал день соревнований.

Состязания проходят в таком формате: танцоры пронумерованы от 11 до nn, и изначально ii-й танцор стоит на ii-м месте. После этого они начинают танцевать по заранее согласованной программе выступления aa: каждую минуту танцор с a_ia\_i-го места передвигается на ii-е место, при этом все a_ia\_i различны. От команды требуется выстроиться так, чтобы ii-й танцор оказался на b_ib\_i-м месте (аналогично, все b_ib\_i различны). После этого выступление завершается, и жюри оценивает его техничность и артистизм. При этом выступление должно продлиться хотя бы одну минуту, иначе оценивать будет просто нечего.

Но в этом году участники заподозрили жюри в подлоге: к ним пришла мысль, что, возможно, следуя программе aa, они никогда не смогут занять требуемое положение bb, что приводит к автоматическому поражению в турнире.

Так как они не программисты по образованию, команда города NNNN решила обратиться к вам за помощью: проверьте по их программе выступления aa и требуемому положению bb, существует ли такое положительное количество минут kk, что через kk минут после начала выступления ii-й танцор будет находиться на b_ib\_i-м месте.

입력

В первой строке входного файла содержится целое число nn (1≤n≤1061 \leq n \leq 10^6) --- количество участников команды, приехавшей из города NNNN.

Вторая строка содержит nn целых чисел a_1a\_1, …\ldots, a_na\_n (1≤a_i≤n1 \leq a\_i \leq n) --- программу выступления aa. Гарантируется, что каждое число от 11 до nn встречается в aa ровно один раз.

Третья строка содержит nn целых чисел b_1b\_1, …\ldots, b_nb\_n (1≤b_i≤n1 \leq b\_i \leq n) --- требуемое положение bb. Гарантируется, что каждое число от 11 до nn встречается в bb ровно один раз.

출력

Для каждого тестового примера выведите <<Yes>> (без кавычек), если существует такое количество минут kk, что спустя kk минут после начала выступления все танцоры будут в требуемом от них положении, или <<No>> (без кавычек), если такого kk не существует.

힌트

В первом примере в нулевой момент времени танцоры располагаются так: 12341 2 3 4. Но так как выступление должно продлиться хотя бы одну минуту, k=0k = 0 не подходит. Далее происходят следующие перемещения:

  • 2,3,4,12\\, 3\\, 4\\, 1 после первой минуты
  • 3,4,1,23\\, 4\\, 1\\, 2 после второй минуты
  • 4,1,2,34\\, 1\\, 2\\, 3 после третьй минуты
  • 1,2,3,41\\, 2\\, 3\\, 4 после четвертой минуты

Как видно, после четвертой минуты танцоры заняли требуемое положение, а значит, подходит k=4 k = 4, и ответ --- <<Yes>>.

Во втором примере танцоры всегда остаются на своем месте, следственно, они никогда не займут требуемое положение, и ответ --- <<No>>.

예제2

  1. 예제 1

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

    입력
    4
    1 2 3 4
    2 1 4 3
    
    예상 출력
    No