시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB222100.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$ --- порядок, в котором опоры должны идти по границе батута.

예제 입력 1

5
0 0
2 2
-2 -2
2 -2
-2 2

예제 출력 1

Yes
1 2 4 3 5

힌트

Рис. 2: Батут, который построили в примере.