#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=5100;

struct node{
    int id;
    ll a,b;
};
node s[maxn];

bool check(node& p1,node& p2,node& p3){
    ll len1=(p3.a-p2.a)*(p3.a-p2.a)+(p3.b-p2.b)*(p3.b-p2.b);
    ll len2=(p2.a-p1.a)*(p2.a-p1.a)+(p2.b-p1.b)*(p2.b-p1.b);
    ll len3=(p3.a-p1.a)*(p3.a-p1.a)+(p3.b-p1.b)*(p3.b-p1.b);

    if(len1>len3-len2) return true;
    else return false;
}
int main() {
    ios::sync_with_stdio(false);
    int N;cin>>N;
    for(int i=1;i<=N;i++){
        s[i].id=i;
        cin>>s[i].a>>s[i].b;
    }

    for(int i=3;i<=N;i++){
        for(int j=i;j>=3;j--){
            node &p1=s[j],&p2=s[j-1],&p3=s[j-2];
            if(check(p1,p2,p3))
                break;
            else swap(p1,p2);
        }
    }


    for(int i=1;i<=N;i++){
        cout<<s[i].id<<' ';
    }
    return 0;
}
