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 г. Севастополь