#include <bits/stdc++.h>
#define r(i,n) for(int i=0;i<n;i++)
using namespace std;

double dp[1<<15][15],MIN=1e15;
int pre[1<<15][15],s[15],d[15],v[15],id,S,n;

main(){
	cin>>n;
	r(i,n)cin>>s[i]>>d[i]>>v[i];
	r(i,1<<n)r(j,15)dp[i][j]=1e15;
	r(i,n)dp[1<<i][i]=0;
	for(int i=1;i<(1<<n);i++){
		for(int j=0;j<n;j++){
			for(int k=0;k<n;k++){
				if(j==k)continue;
				if((i&(1<<k)))continue;
				double sum=0,dis=abs(d[k]-d[j]);
				r(l,n)if(i&(1<<l))sum+=v[l];
				double cost=dp[i][j];
				cost+=dis/(2000.0/(sum*20+70));
				if(dp[i|(1<<k)][k]>cost){
					dp[i|(1<<k)][k]=cost;
					pre[i|(1<<k)][k]=j;
				}
			}
		}
	}
	r(i,n)if(MIN>dp[(1<<n)-1][i]){
		MIN=dp[(1<<n)-1][i];
		id=i;
	}
	stack<int>st;
	S=(1<<n)-1;
	r(i,n){
		st.push(s[id]);
		S-=(1<<id);
		id=pre[S|(1<<id)][id];
	}
	r(i,n){
		if(i)cout<<' ';
		cout<<st.top();
		st.pop();
	}
	cout<<endl;
}
