eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Time limit 1 second
Memory limit 256 MiB

Как известно из популярного мультфильма, планета Шелезяка заселена роботами. Когда Алиса Селезнева вместе с другими путешественниками со звездолета "Пегас" остановилась в гостинице этой планеты и осмотрелась в номере, выяснилось, что он не пригоден для проживания человека. Оказалось, некоторые её друзья попали в такую же ситуацию. Они отправились к портье и попросили поменять им номера и перенести тяжелый багаж. Но тут выяснилось, что система смены номеров в этой роботизированной гостинице несколько устарела и заржавела. Фактически, она работала только следующим способом: каждый номер обслуживался одним роботом, который переносил весь имеющийся багаж в фиксированный номер и возвращался обратно. После возвращения всех роботов на исходные позиции процесс переноски можно было повторить, запустив его одновременно во всех номерах.

Алиса с друзьями выбрали себе новые номера и решили попробовать запустить процедуру переноски багажа несколько раз, чтобы их багаж оказался в нужных комнатах (проблему того, что при этом в их комнатах может оказаться и еще чей-то багаж, они собирались решать позже). Интересно, удалось ли Алисе переехать и где теперь находится багаж всех постояльцев?

Input data

В первой строке одно натуральное число N, (1N300), определяющее число комнат в гостинице.

Во второй строке N натуральных чисел, отделенных друг от друга не менее чем одним пробелом, указывающие, куда фактически переносится багаж, т.е. число в этой строке с порядковым номером i определяет номер комнаты, куда за одну процедуру переноски багажа попадает багаж из комнаты номер i.

В третьей строке N неотрицательных целых чисел, отделенных друг от друга не менее чем одним пробелом. Натуральное число в этой строке с порядковым номером i указывает номер комнаты, куда хочет доставить багаж её обитатель, а ноль указывает, что обитатель этой комнаты не собирался участвовать в переезде и хочет узнать, где теперь его багаж.

Output data

В первой строке одно неотрицательное целое число k – минимальное количество запусков процедуры переноски багажа, необходимое для заданного перемещения багажа Алисы и её друзей. Если переехать Алисе не удается, то вместо k вывести -1. Если переезд возможен, то во второй строке вывести N натуральных чисел, отделенных друг от друга одним пробелом, указывающих, куда попал багаж из каждой комнаты.

Examples

Input example #1
7
2 3 4 5 5 7 6
0 5 0 0 0 0 7
Output example #1
4
5 5 5 5 5 6 7
Source ACM ICPC 2013-2014 NEERC Siberian Group