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

Задача . E. Фокусы


Маша собирается принять участие в шоу талантов, проводимом университетом, в котором она учится. Она хочет поразить публику множеством разных фокусов!

Для одного из своих фокусов она использует \(n\) шариков, один из которых — особенный. Сначала Маша размещает шарики в ряд таким образом, чтобы особенный шарик находился на позиции \(k\) (позиции пронумерованы от \(1\) до \(n\) слева направо). После этого она выполняет \(m\) обменов: во время \(i\)-го обмена она выбирает шарик на позиции \(x_i\) и шарик на позиции \(y_i\) и меняет их местами.

Чтобы обмануть аудиторию, Маша иногда делает фальшивые действия — имитирует, что начинает обмен, но не выполняет его (но аудитории кажется, что он выполнен). Нет никаких ограничений на то, какие обмены Маша должна имитировать или должна действительно выполнить — например, она может имитировать все обмены или выполнить все из них.

Чтобы фокус работал идеально, особенный шарик должен оказаться в определенной позиции, но Маша еще не определилась, какая из позиций идеальна. Поскольку имитировать обмены сложно, для каждой позиции она хочет знать минимальное количество обменов, которое она должна сымитировать, чтобы особенный шарик оказался там.

К сожалению, Маша — волшебница, а не математик и не программист. Поэтому ей нужна ваша помощь!

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

Первая строка содержит три целых числа \(n\), \(m\) и \(k\) (\(2 \le n \le 2 \cdot 10^5\); \(1 \le m \le 2 \cdot 10^5\); \(1 \le k \le n\)) — количество шариков, количество обменов и начальное положение особенного шарика соответственно.

Далее следуют \(m\) строк, в которых \(i\)-я строка содержит два целых числа \(x_i\) и \(y_i\) (\(1 \le x_i, y_i \le n\); \(x_i \ne y_i\)), обозначающие \(i\)-й обмен.

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

Выведите \(n\) целых чисел. \(i\)-е число — минимальное количество обменов, которые Маша должна сымитировать, чтобы особенный шарик оказался в позиции \(i\) (или \(-1\), если Маша не может поместить туда особенный шарик).


Примеры
Входные данныеВыходные данные
1 4 5 1
3 4
2 1
4 1
3 1
3 1
2 0 3 1
2 5 7 4
3 2
3 2
4 2
3 4
4 1
3 2
5 2
2 2 0 3 1
3 7 15 5
5 3
4 2
6 1
2 4
1 6
3 7
5 6
4 2
6 4
2 6
6 3
6 3
7 6
2 6
7 2
-1 1 1 1 2 1 0

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

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