ЗАДАЧА B

Триангуляция выпуклого многоугольника

Имя входного файла:triangle.in
Имя выходного файла:triangle.out
Ограничение по времени:1 секунда
Ограничение по памяти:64 Мб

В выпуклом N-угольнике провели несколько диагоналей таким образом, что никакие две диагонали не пересекаются внутри N-угольника.
Напишите программу, которая проверяет, разбит ли N-угольник на треугольники.

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

Во входном файле записано сначала число N - количество вершин N-угольника (3 <= N <= 1000). Далее записано число M - количество проведенных диагоналей. Далее записано M пар чисел, задающих диагонали (каждая диагональ задается парой номеров вершин, которые она соединяет). Гарантируется, что каждая пара чисел задает диагональ (то есть две вершины различны, и не являются соседними), а также что никакие две пары не задают одну и ту же диагональ. Никакие две диагонали не пересекаются внутри N-угольника.

Вершины N-угольника нумеруются числами от 1 до N.

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


Если N-угольник разбит на треугольники, то выходной файл должен содержать единственное число 0.

В противном случае быть выведено сначала число K - количество вершин в какой-нибудь не треугольной части. Далее должно быть выведено K чисел - номера вершин исходного N-угольника, которые являются вершинами этой K-угольной части в порядке обхода этой части.

Пример


triangle.in triangle.out
3 0
0
4 1
1 3
0
6 2
1 3
5 3
4 1 3 5 6