Згоряння та компоненти зв'язності#4371

Згоряння та компоненти зв'язності

1 секунда
64 мегабайти
Середня

Одного разу ви спостерігали, як згорає граф — це дуже цікавий процес. Спочатку граф горить, але залишається зв'язним, потім у якийсь момент він починає розпадатись на окремі зв'язні частини, а через деякий час ці окремі частини зовсім згорають і зникають.

Вам так сподобалося дивитися на горіння графа, що ви вирішили змоделювати це на своєму комп'ютері. Для цього вам необхідно відповісти на питання: Скільки компонент зв'язності, які складаються з незгорілих вершин, буде у графі через секунд після підпалювання? Причому необхідно знайти відповідь для кожного від до , де — час згорання останньої вершини, яка може згоріти.

Вхідні дані

У першому рядку числа , та (1 \leq N, M \leq 10^5, 1 \leq S \leq N) — кількість вершин, кількість ребер та номер вершини підпалювання відповідно. Далі рядків описують ребра графа двома числами та (1 \leq a, b \leq N) — кінці чергового ребра. Граф може містити кратні ребра та петлі.

Вихідні дані

У першому рядку виведіть число — час згорання останньої вершини, яка може згоріти. Вважайте, що вершина підпалена у момент часу t = 1 сек, і вогонь поширюється між довільними двома суміжними вершинами за одну секунду. У наступному рядку виведіть K + 1 чисел через пробіл, де -те число означає кількість компонент зв'язності, які складаються з вершин, що ще не згоріли, по завершенні секунд (0 \leq i \leq K).

Пояснення: У першому прикладі у секунду, тобто до підпалювання, граф зв'язний — кількість компонент зв'язності дорівнює . По закінченні -ї секунди згорає вершина і граф розпадається на дві компоненти зв'язності та (1, 3, 4). Після -ї секунди згорають вершини , та . Залишається одна вершина , яка й утворює компоненту зв'язності. Після -ї секунди згорає -та вершина, і компонент зв'язності немає, оскільки всі вершини згоріли.

У другому прикладі у секунду граф складається з трьох окремих вершин — компоненти зв'язності. При підпалюванні першої вершини вона згорає на -й секунді й залишається дві компоненти зв'язності. Оскільки більше жодні вершини не згорять, то шуканий час згорання дорівнює секунді.

Приклади

Приклад

Вхідні дані

5 5 2
1 2
1 3
1 4
3 4
3 5
Вихідні дані
3
1 2 1 0

Приклад

Вхідні дані

3 0 1
Вихідні дані
1
3 2

Приклад 1

Loading
Loading