#include<bits/stdc++.h>
using namespace std;
int n,in[55],za[60],top=0;
int pd[105][105];
vector<int>ans;
bool anpai()
{
int num=0;
stack<int> q;
for(int i=0;i<n;i++)
{
if(in[i]==0)
{
q.push(i);
}
}
while(q.size())
{
int u=q.top();
q.pop();
ans.push_back(u);
for(int v=0;v<n;v++)
{
if(pd[u][v]!=0)
{
--in[v];
if(in[v]==0)
{
q.push(v);
}
}
}
++num;
}
if(num==n)
return true;
else
return false;
}
int main()
{
cin>>n;
for(int i=0;i<=n-1;i++)
{
for(int j=0;j<=n-1;j++)
{
scanf("%d",&pd[i][j]);
if(pd[i][j]==1)
{
in[j]++;
}
}
}
bool op=anpai();
if(op==true)
{
for(int i=0;i<ans.size();i++)
{
cout<<ans[i]<<" ";
}
cout<<endl;
}
else
{
cout<<"ERROR"<<endl;
}
return 0;
}