#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int nmax=2005;
int n;
int m[nmax][nmax];
vector<char> s;
bool check(){
int cnt[3]={};
for(int j=(int)s.size()-1;j>=0;j--){
cnt[s[j]-'B']++;
int mx=max({cnt[0],cnt[1],cnt[2]});
if(mx!=m[j][(int)s.size()-1]){
return false;
}
}
if((int)s.size()==n){
if(!(cnt[0]>cnt[1]&&cnt[0]>cnt[2])){
return false;
}
for(int i=0;i<n;i++){
if(s[i]=='B'){
cout<<i+1<<" ";
}
}
exit(0);
}
return true;
}
void dfs(){
for(char c='B';c<='D';c++){
s.push_back(c);
if(check()){
dfs();
}
s.pop_back();
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cin>>n;
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
cin>>m[i][j];
}
}
dfs();
return 0;
}