Олимпиадный тренинг

Задача . Квест - 2


Задача

Темы:
Участники квеста находятся в комнатах, каждый в отдельной, двери закрыты. Некоторые команты соединены между собой коридорами-переходами. Из нескольких комнат есть выход из квеста, но выходы пока тоже закрыты.
В каждой комнате, где находится участник, на стене висит план комнат и соединяющих их коридоров, на изучение которого участникам дается некоторое время. В момент, когда двери откроются, все участники начнут движение, торопясь к ближайшей комнате с выходом.
Когда пройдет 10 секунд,  все двери опять закроются, и игроки, не успевшие добежать до выхода, будут ждать нового открытия дверей, чтобы продолжить свой бег. Все коридоры оборудованы датчиками движения для того, чтобы никто не остался запертым в коридоре, а не в комнате. Другими словами, каждый человек гарантированно добегает до ближайшей к нему комнаты. После десятисекундной паузы все повторяется - все двери открываются ровно на 10 секунд и затем опять закрываются. 
В одной из комнат находится Ваш друг, и Вы очень хотите  побыстрее с ним встериться. Он смог переслать Вам план этого квеста, а также Вам известен номер комнаты, в которой он сейчас находится. Определите минимально возможное время (в секундах от начала проведения квеста), когда Ваш друг завершит квест. Ваш друг - хороший спортсмен, и на преодоление каждого коридора между двумя комнатами он тратит только 2 секунды. 
 
Формат входных данных
В первой строке вводятся три натуральных числа NK, S (1<=N<=100000, 1<=K<=N, 1<=S<=N) — количество комнат, количество выходов и номер комнаты, в которой сейчас Ваш друг, соответственно. Во второй строке через пробел записаны K различных чисел, обозначающих номера комнат, в которых расположены выходы. В третьей строке идёт число M (1<=M<=100000) — количество коридоров. В следующих M  строках вводятся пары чисел – номера комнат, соединенных коридром.
По каждому из коридоров можно двигаться в обе стороны. Может существовать более одного коридора между одной и той же парой комнат. 

Формат выходных данных
Выведите ответ на задачу.
Примеры
Входные данныеВыходные данные
1
3 1 2
2
3
1 2
3 1
2 3
0
2
10 2 3
10 8
9
6 7
7 5
5 8
8 1
1 10
10 3
3 4
4 9
9 2
2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python4
Комментарий учителя