F. Пари Шерлока и Мориарти
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Шерлок и Мориарти встретились для финальной битвы умов. Шерлок дал Мориарти правильный выпуклый n-угольник. Кроме того, он дал ему некоторые диагонали в этом многоугольнике, которые разделяют его на регионы. Гарантируется, что диагонали не пересекаются во внутренних точках.

Шерлок посчитал для каждого региона его важность. Важность региона, образованного вершинами многоугольника с номерами a1, a2, ... , ax, равна 2a1 + 2a2 + ... + 2ax. Затем Шерлок упорядочил регионы в порядке увеличения важности. После этого он присвоил каждому региону уникальный номер от 1 до k, где k — количество регионов, а номер региона это его позиция в упорядоченном по важности списке.

Шерлок хочет, чтобы Мориарти раскрасил регионы, используя не более чем 20 цветов так, чтобы все простые пути между двумя одноцветными регионами проходили через хотя бы один регион, покрашенный в цвет с номером меньше, чем номер цвета данных регионов. Простой путь между двумя регионами f и h это последовательность регионов r1, r2, ... rt такая, что r1 = f, rt = h, для каждого 1 ≤ i < t регионы ri и ri + 1 имеют общую сторону, а также ri = rj если и только если i = j.

Мориарти не смог ответить и спросил решение у Шерлока. Помогите Шерлоку предоставить ответ Мориарти.

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

В первой строке содержатся два целых числа n и m (3 ≤ n ≤ 100000, 0 ≤ m ≤ n - 3) — количество вершин в многоугольнике и количество проведенных диагоналей.

Следующие m строк содержат по два целых числа a и b (1 ≤ a, b ≤ n), которые описывают диагональ между вершинами a и b. Гарантируется, что заданы корректные диагонали, то есть a и b не совпадают и не являются соседними вершинами. Гарантируется, что диагонали не пересекаются.

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

Пусть число регионов равно k.

Выведите k целых чисел, каждое от 1 до 20 — цвета регионов в порядке увеличения важности.

Если существует несколько решение, выведите любое из них. Можно показать, что существует хотя бы одно решение.

Примеры
Входные данные
4 1
1 3
Выходные данные
1 2
Входные данные
6 3
1 3
1 4
1 5
Выходные данные
2 1 2 3
Примечание

Во втором примере регионы будут в таком порядке: (1, 2, 3), (1, 3, 4), (1, 4, 5), (1, 5, 6), т. е. регион (1, 2, 3) будет первым, затем регион (1, 3, 4) и так далее.

Мы можем покрасить регионы 1 и 3 в один цвет, так как регион 2 будет на пути из 1 в 3, и его цвет равен 1, что меньше, чем цвет регионов 1 и 3, который равен 2.