`
Для передачі секретних повідомлень своїм співробітникам розвідувальна агенція «Колобок» використовує наступний метод. Спочатку повідомлення кодується з використанням стандартної таблиці ASCII, а потім розбивається на дві рівні частини. У одні ті самі позиції отриманих частин додається одне і те ж число, якого не було у початковму повідомленні, – так званий ключ. Після цього кожна з числових послідовностей циклічно зсувається, причому одна частина зсувається ліворуч, а друга – праворуч, кількість позицій зсуву однакова.
Агент Василь Пупкін знайшов у шухляді свого письмового столу дві числові послідовності однакової довжини. І тепер у нього нав’язлива думка – чи не є вони частинами деякого непрочитаного секретного повідомлення. Щоб відповісти на це питання, необхідно привести обидві послідовності до початкового вигляду, коли ключове число знаходиться у одних і тих самих позиціях. Для цього обидві послідовності зсувають циклічно на деяку однакову кількість позицій, причому перша зсувається ліворуч, а друга – праворуч. Якщо після виконання такої операції всі ключові числа виявляться на однакових позиціях, то вважається, що вони належать одному повідомленню. Якщо ж цього добитись неможливо, послідовності належать різним повідомленням.
Допоможіть Васі знайти мінімальну кількість позицій, на які подрібно зсувати послідовності для відновлення повідомлення.
Технічні умови. Програма SECRET читає з клавіатури число N (1≤N≤200000). Далі читаються два рядки по N чисел, які задають знайдені Васею послідовності. В останньому рядку одне число – ключ P. Всі числа є цілими і лежать в межах від 1 до 255 включно. Програма виводить єдине число – мінімальний зсув для отримання числових послідовностей початкового повідомлення. Якщо числові послідовності належать різним початковим повідомленням, вивести число −1.Приклад:Введення | Виведення |
43 1 2 34 3 3 53 | 1 |
© LIKT 1998-2024