| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 2 | 2 | 2 | 100.000% |
Финес и Ферб хотят построить большой батут. Они уже построили $n$ опор для батута, и теперь хотят его натянуть. При взгляде сверху, каждая опора является точкой на плоскости. Батут будет являться простым многоугольником с вершинами в этих точках. Простой многоугольник это многоугольник, граница которого не имеет самопересечений и самокасаний. Ребята хотят, чтобы батут имел наибольшую возможную площадь. И при этом, они хотят использовать каждую опору. Помогите им выбрать порядок, в котором опоры должны встречаться на границе батута, чтобы он представлял из себя простой многоугольник и имел наибольшую возможную площадь.
В первой строке дано одно целое число $n$ --- количество опор для батута ($3 \le n \le 9$). В следующих $n$ строках даны по два целых числа $x_i$ и $y_i$ --- координаты $i$-й опоры ($-{10}^8 \le x_i, y_i \le {10}^8$). Гарантируется, что никакие две точки не совпадают.
Если невозможно построить простой многоугольник, вершинами которого будут являться данные точки, в единственной строке выведите <<No>>. Иначе, в первой строке выведите <<Yes>>, а в следующей строке выведите перестановку чисел от $1$ до $n$ --- порядок, в котором опоры должны идти по границе батута.
5 0 0 2 2 -2 -2 2 -2 -2 2
Yes 1 2 4 3 5
Рис. 2: Батут, который построили в примере.