Карта скарбів
Обмеження: 2 сек., 256 МіБ
Зеник та Марічка знайшли картку скарбів Львова.
Львів можна представити у вигляді неорієнтовного зв’язного графа, вершини якого представляють перехрестя, а ребра — дороги між ними.
Згідно з легендою, скарб заховано в одному із перехресть. Творці карти спочатку для кожного перехрестя знайшли і позначили найкоротшу відстань (кількість доріг) від нього до скарбу. Після цього, для кожного значення відстані було стерто позначення із рівно одного перехрестя з такою відстанню. Тобто для кожного значення dd, якщо існує kk перехресть на відстані dd, для рівно k−1k−1 з них буде записано значення dd, а для останнього значення стерто.
Ваше завдання — за заданою картою знайти усі перехрестя, в яких може бути скарб.
Вхідні дані
У першому рядку задано два цілих числа nn та mm — кількість перехресть та доріг відповідно.
У наступних mm рядках задано пари чисел uiui та vivi — номери перехресть, з’єднаних відповідною дорогою. Гарантовано, що заданий граф зв’язний, та не містить петель та кратних ребер.
У наступному рядку задано nn цілих чисел hihi через пробіл. Число -1 позначає, що відстань до відповідного перехрестя не була позначена, тоді як будь-яке інше число позначає відстань від скарбу до відповідного перехрестя.
Гарантовано, що карта коректна та її побудова відповідає опису в умові.
Вихідні дані
У першому рядку виведіть одне ціле число cc — кількість вершин, в яких міг міститись скарб.
У наступному рядку виведіть cc чисел через пробіл у порядку зростання — номери перехресть, які можуть містити скарб.
Обмеження
2≤n≤2⋅1052≤n≤2⋅105,
1≤m≤2⋅1051≤m≤2⋅105,
−1≤hi<n−1≤hi<n.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 2 2 1 1 3 -1 -1 -1 | 2 2 3 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 10 1 4 2 3 3 5 7 5 3 4 6 3 2 6 7 2 2 5 1 3 1 -1 -1 -1 2 2 -1 | 1 4 |
Примітки
У першому прикладі відстань до усіх перехресть є невідомою. Неважко переконатись, що лише перехрестя 2 та 3 відповідають побудові карти, описаній в умові.
У другому прикладі задано граф, зображений на рисунку нижче.
Лише перехрестя з номером 4 могло містити скарб.