eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Перестановочный логарифм

Перестановочный логарифм

Пусть заданы две перестановки \textbf{p = (p_1, p_2, ..., p_N)} и \textbf{q = (q_1, q_2, ..., q_N)} чисел от \textbf{1} до \textbf{N}. Требуется найти такую минимальную целую неотрицательную степень \textbf{d}, что \textbf{p^d = q} (то есть \textbf{d}-кратное применение перестанвоки \textbf{p} к массиву \textbf{(1, 2, ..., N)} приведёт к массиву \textbf{q}). \InputFile В первой строке входного файла задаётся натуральное число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{2·10^5}). Во второй и третьей строках определяются перестановки \textbf{p} и \textbf{q} соответственно. Каждая из этих строк содержит \textbf{N} чисел, определяющих соответствующую перестановку. \OutputFile В выходной файл необходимо вывести наименьшее неотрицательное значение \textbf{d}, при котором \textbf{p^d = q}. Если такого числа не существует, выведите \textbf{-1}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
5
2 3 4 1 5
3 4 1 2 5
Вихідні дані #1
2
Джерело III Міжнародна Літня школа програмування 2012 м. Севастополь