//pa
#include<bits/stdc++.h>
using namespace std;
#define LL long long
const int maxn = 1000 + 10;
int n;
int a[maxn][maxn];
vector<int> v[maxn];
int order[maxn];
int vis[maxn];
void dfs(int x, int num){
// cout<<x<<"\n";
if(num==n){
for(int i=1; i<=n; i++) cout<<order[i]<<" ";
exit(0);
}
for(int y: v[x]){
if(vis[y]) continue;
order[num+1] = y;
vis[y]=1;
dfs(y, num+1);
vis[y]=0;
}
}
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0);
cin>>n;
for(int i=0; i<n; i++)
for(int j=0; j<i; j++){
int aa; cin>>aa;
//a[aa][i]=a[i][aa]=1;
// cout<<i<<" "<<a<<" / "<<(j+1)<<" "<<(i+1)/2<<"\n";
if((j+1) <= (i+1)/2){
a[aa][i]=a[i][aa]=1;
// v[a].push_back(i);
// v[i].push_back(a);
//v[a].insert(i);
// v[i].insert(a);
}
}
for(int i=0; i<n; i++)
for(int j=n-1; j>=0; j--){
if(a[i][j]==1) v[i].push_back(j);
}
// for(int i=0; i<n; i++) sort(v[i].begin(), v[i].end(), greater<int>());
order[1] = n-1;
vis[n-1]=1;
dfs(n-1, 1);
}