#include<iostream>
#include<string>
using namespace std;
int n;
int graph[25][25];
int tag[25];//记录当前是真还是假
bool judge()
{
int sum=0;
for(int i=0;i<n;i++)
{
if(tag[i]==1)//如果是1
{
sum++;
for(int j=0;j<n;j++)
{
if(i!=j)
{
if(tag[j] != graph[i][j])//如果i对j的评价和j的真实不一样
return false;
}
}
}
}
if(sum > n/2)//如果大于一半
return true;
return false;
}
void get(int len)//遍历到第len个
{
if(len>=n)
{
if(judge())//判断
{
int sum=0;
for(int i=0;i<n;i++)
if(tag[i]==1)
cout<<i+1<<" ";
cout<<endl;
}
}
else
{
tag[len]=1;
get(len+1);
tag[len]=0;
get(len+1);
}
}
int main()
{
int i,j;
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>graph[i][j];
for(i=0;i<n;i++)//初始化全为1
tag[i]=1;
get(0);
}