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

Гостиница планеты Шелезяка

Гостиница планеты Шелезяка

Как известно из популярного мультфильма, планета Шелезяка заселена роботами. Когда Алиса Селезнева вместе с другими путешественниками со звездолета "Пегас" остановилась в гостинице этой планеты и осмотрелась в номере, выяснилось, что он не пригоден для проживания человека. Оказалось, некоторые её друзья попали в такую же ситуацию. Они отправились к портье и попросили поменять им номера и перенести тяжелый багаж. Но тут выяснилось, что система смены номеров в этой роботизированной гостинице несколько устарела и заржавела. Фактически, она работала только следующим способом: каждый номер обслуживался одним роботом, который переносил весь имеющийся багаж в фиксированный номер и возвращался обратно. После возвращения всех роботов на исходные позиции процесс переноски можно было повторить, запустив его одновременно во всех номерах. Алиса с друзьями выбрали себе новые номера и решили попробовать запустить процедуру переноски багажа несколько раз, чтобы их багаж оказался в нужных комнатах (проблему того, что при этом в их комнатах может оказаться и еще чей-то багаж, они собирались решать позже). Интересно, удалось ли Алисе переехать и где теперь находится багаж всех постояльцев? \InputFile В первой строке одно натуральное число \textbf{N}, (\textbf{1} ≤ \textbf{N} ≤ \textbf{300}), определяющее число комнат в гостинице. Во второй строке \textbf{N} натуральных чисел, отделенных друг от друга не менее чем одним пробелом, указывающие, куда фактически переносится багаж, т.е. число в этой строке с порядковым номером \textbf{i} определяет номер комнаты, куда за одну процедуру переноски багажа попадает багаж из комнаты номер \textbf{i}. В третьей строке \textbf{N} неотрицательных целых чисел, отделенных друг от друга не менее чем одним пробелом. Натуральное число в этой строке с порядковым номером \textbf{i} указывает номер комнаты, куда хочет доставить багаж её обитатель, а ноль указывает, что обитатель этой комнаты не собирался участвовать в переезде и хочет узнать, где теперь его багаж. \OutputFile В первой строке одно неотрицательное целое число \textbf{k} -- минимальное количество запусков процедуры переноски багажа, необходимое для заданного перемещения багажа Алисы и её друзей. Если переехать Алисе не удается, то вместо \textbf{k} вывести \textbf{-1}. Если переезд возможен, то во второй строке вывести \textbf{N} натуральных чисел, отделенных друг от друга одним пробелом, указывающих, куда попал багаж из каждой комнаты.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
7
2 3 4 5 5 7 6
0 5 0 0 0 0 7
Вихідні дані #1
4
5 5 5 5 5 6 7
Джерело ACM ICPC 2013-2014 NEERC Siberian Group