Университет города Васюки добился права провести у себя четвертьфинальное соревнование ACM, и организаторы хотят, чтобы все было на высшем уровне. Они подготовили для участников буклеты с полезной информацией, не забыв разместить там схему движения городского транспорта. Правда, городской транспорт представлен в Васюках только сетью автобусных маршрутов, но васюкинцы верят, что все у них впереди.
Университет города Петюки добился права отправить свою команду на четвертьфинальное соревнование в город Васюки. Правда, с финансированием у них туговато, так что приходится экономить. Поэтому петюкинские студенты решили передвигаться по Васюкам,
используя наименьшее количество пересадок, ведь за одну поездку на каждом из маршрутов приходится платить один рубль (независимо от количества остановок). И это каждому из студентов, а их в команде трое. Хорошо хоть, за тренера не надо платить, он вообще
не поехал в Васюки, на него денег не хватило. А ходить пешком студентам неохота. Им проще написать программку расчета самого экономичного маршрута, чем пройти лишний километр, да и быстрее. Или не быстрее? За сколько времени можно написать такую программу?
P.S. Пешеход проходит один километр в среднем за 12 минут.
Исходные данные
Первая строка входа содержит 2 числа: количество автобусных маршрутов в городе Васюки N и количество различных остановок M (1 ≤ N ≤ 1000; 1 ≤ M ≤ 105; остановки пронумерованы от 1 до M). Далее следуют N строк c описанием автобусных маршрутов. Каждая из этих строк начинается с количества остановок данного маршрута, а далее идут номера этих остановок. Суммарное количество чисел в строках с 2 по N+1 не превосходит 200000. (N+2)-я строка содержит два числа A и B — номера начальной и конечной остановок (числа A и B не совпадают).
Результат
Если от остановки A до остановки B невозможно проехать на автобусах, то выведите −1. В противном случае в первой строке выведите минимальную сумму (в рублях), необходимую для проезда одного человека от A до B, а во второй строке необходимо описать один из возможных маршрутов с этой стоимостью, перечислив остановки, на которых нужно делать пересадки (включая начальную и конечную).
Пример
исходные данные | результат |
---|
3 10
5 2 4 6 8 10
3 3 6 9
2 5 10
5 9 | 3
5 10 6 9 |
Автор задачи: Евгений Крохалев, Екатерина Васильева
Источник задачи: Седьмое открытое личное первенство УрГУ по спортивному программированию - 25 февраля 2006 года