Problems
Триангуляция
Триангуляция
Дан многоугольник из \textbf{N} вершин. Он не содержит самопересечений и самокасаний. Требуется произвести его триангуляцию, то есть, разбить его ровно на \textbf{N-2} треугольника таким образом, что выполняется:
\begin{itemize}
\item вершины каждого треугольника выбираются среди вершин исходного многоугольника;
\item каждый треугольник должен быть невырожденным;
\item каждый треугольник должен полностью содержаться в исходном многоугольнике;
\item внутренние области любых двух треугольников не пересекаются.
\end{itemize}
\InputFile
Первая строка содержит число \textbf{N} (\textbf{3} ≤ \textbf{N} ≤ \textbf{5000}) --- количество вершин многоугольника. Далее \textbf{N} строк по два целых числа в каждой: \textbf{x_i}, \textbf{y_i} (\textbf{-10000} ≤ \textbf{x_i}, \textbf{y}_\{i \}≤ \textbf{10000}) --- координаты вершин многоугольника в порядке обхода против часовой стрелки. Гарантируется, что все точки различные. Гарантируется, что любая пара сторон имеет ровно одну общую точку, если стороны соседние, и ни одной в противном случае.
\OutputFile
\textbf{N-2} строки, каждая из которых содержит три различных целых числа: \textbf{a_i}, \textbf{b_i} и \textbf{c_i} (\textbf{1} ≤ \textbf{a_i}, \textbf{b_i}, \textbf{c}_\{i \}≤ \textbf{N}) --- номера вершин исходного многоугольника, которые формируют \textbf{i}-ый треугольник. Вершины исходного многоугольника нумеруются начиная с \textbf{1} в порядке появления во входных данных.
Если вариантов триангуляции несколько, можно вывести любой. Треугольники можно выводить в любом порядке. Номера вершин треугольников можно выводить в любом порядке.
Input example #1
7 3 -1 3 1 2 1 3 3 0 0 3 -3 2 -1
Output example #1
1 2 3 3 4 5 5 6 7 7 1 3 3 5 7