Большой батут

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Финес и Ферб хотят построить большой батут. Они уже построили nn опор для батута, и теперь хотят его натянуть. При взгляде сверху, каждая опора является точкой на плоскости. Батут будет являться простым многоугольником с вершинами в этих точках. Простой многоугольник это многоугольник, граница которого не имеет самопересечений и самокасаний. Ребята хотят, чтобы батут имел наибольшую возможную площадь. И при этом, они хотят использовать каждую опору. Помогите им выбрать порядок, в котором опоры должны встречаться на границе батута, чтобы он представлял из себя простой многоугольник и имел наибольшую возможную площадь.

입력

В первой строке дано одно целое число nn --- количество опор для батута (3n93 \le n \le 9). В следующих nn строках даны по два целых числа x_ix\_i и y_iy\_i --- координаты ii-й опоры (108x_i,y_i108-{10}^8 \le x\_i, y\_i \le {10}^8). Гарантируется, что никакие две точки не совпадают.

출력

Если невозможно построить простой многоугольник, вершинами которого будут являться данные точки, в единственной строке выведите <<No>>. Иначе, в первой строке выведите <<Yes>>, а в следующей строке выведите перестановку чисел от 11 до nn --- порядок, в котором опоры должны идти по границе батута.

힌트

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