Вам дано зв'язний орієнтований граф з вершинами та ребрами. Знайдіть його сильно зв'язані компоненти та наведіть топологічний порядок їхньої конденсації.
Граф задано так: у першому рядку містяться цілі числа та (1 \leq n \leq 20000, 1 \leq m \leq 200000). Кожен з наступних рядків містить опис ребра — два цілих числа від до , номери початкової та кінцевої вершин ребра.
Виведіть загальну кількість сильно зв'язаних компонент у графі. У наступному рядку виведіть цілих чисел — для кожної вершини її номер сильно зв'язаної компоненти. Нумеруйте компоненти так, щоб для будь-якого ребра номер компоненти його початкової вершини був не більшим за номер компоненти його кінцевої вершини.
Приклад 1