Թաքցված խնդիր
|Այս խնդիրը թաքցված է խմբագրական խրհրդի անդամի կողմից քանի որ կամ այն ոչ ճիշտ լեզվով է գրված,|կամ թեստային տվյալներն են սխալ, կամ խնդրի ձևակերպումը պարզ չէ։|

GML0129 - ԳՈՄԵԼ(5-7Դ): ՏԱՐԲԵՐ-2

   Давным-давно, в детстве, у Петра Васильевича Колошина была замечательная настольная игра. На карте этой игры были изображены глубокие реки, скалистые горы, непроходимые болота, но Петя, уже тогда обладавший строгим математическим складом ума, быстро формализовал эту карту до следующего вида.

   Карта состоит из N позиций (кружков), соединенных между собой направленными линиями со стрелками. Ровно M позиций обозначены как “Старт”, и ровно одна позиция обозначена как “Финиш”. В Петином детстве начинали играть так: M игроков каким-то образом распределяли между собой стартовые позиции, а потом ходили по очереди. В начале каждого хода игрок бросал кубик и смещался по направлениям стрелок на количество позиций, выпавших на кубике. Игрок, дошедший до финишного кружка первым, объявлялся победителем. В процессе игры в кружках могло находиться несколько игроков одновременно. Карта была замечательна тем, что из каждого кружка выходила ровно одна стрелка, поэтому между игроками никогда не возникало споров, в каком направлении делать ход.

   Со времен детства прошло много лет, кубик потерялся, и Пётр Васильевич решил сочинить новую игру для одного игрока, используя замечательную карту. Он положил в каждый кружок, обозначенный как “Старт”, ровно по одной монете. За один ход Пётр Васильевич разрешил передвинуть одну монетку из любого кружка на одну позицию вдоль направления проведенной из кружка стрелки. Цель игрока – собрать как можно больше монет в кружке, обозначенном как “Финиш”. Однако такая игра получилась слишком простой, поэтому Петр Васильевич добавил ещё одно ограничение, согласно которому из любой позиции можно передвинуть монету не более K раз за все время игры. Ваша задача - вывести количество и номера (в порядке возрастания) промежуточных позиций (не стартовых и не финишных)

Входные данные.

   Первая строка содержит три целых числа, разделенных одиночными пробелами, это числа N, M и K (1 ≤ N ≤ 1000, 1 ≤ M < N, 1 ≤ K ≤ 1000) соответственно.

   Вторая строка содержит M целых чисел Ai (1 ≤ Ai ≤ N) – номера кружков, обозначенных как “Старт”. Все числа в этой строке различны и разделены одиночными пробелами. Кружки нумеруются последовательно целыми числами от 1 до N.

   Третья строка содержит N целых чисел Сi (1 ≤ Сi ≤ N, Сi ≠ i) – номер позиции, в которую ведёт стрелка из кружка с номером i. Числа разделены одиночными пробелами.

   Четвёртая строка содержит единственное целое число F (1 ≤ F ≤ N) - номер кружка, обозначенного как “Финиш”.

   Гарантируется, что Ai не равно F для любого i.

Выходные данные.

Две строки. В первой строке одно число - количество промежуточных позиций. Во второй строке - номера (в порядке возрастания) промежуточных позиций.

Примеры.

N

stdin

stdout

1

5 2 3
1 3
2 3 4 5 1
5

2
2 4

 

2

6 2 1
1 6
5 3 4 2 2 5
4

3
2 3 5

 


Ավելացրեց.Հրանտ Հովհաննիսյան
Ամսաթիվ.2016-07-21
Ժամանակի սահմանափակումը.1s
Ծրագրի տեքստի սահմանափակումը.50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Լեզուներ.Բոլորը բացի ASM32 ASM64 GAWK CLPS CLOJURE D ERL FSHARP FORTRAN GOSU HASK ICON ICK JS-MONKEY NEM NIM OBJC-CLANG PICO PIKE PYPY PYPY3 PY_NBC RUST SCM guile CHICKEN SED TCL WHITESPACE

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.