eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Пусть заданы две перестановки \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}.
Time limit 1 second
Memory limit 256 MiB
Input example #1
5
2 3 4 1 5
3 4 1 2 5
Output example #1
2
Source III International Summer School Programming in Sevastopol 2012