#include<iostream>
#include<algorithm>
#include<stack>
#include<queue>
using namespace std;
int arr[55][55];
int k[55];
stack<int> st;
queue<int> qu;
int n;
bool tuopu()
{
int count = 0;
for (int i = 0; i < n; i++)
{
if (k[i] == 0)
{
st.push(i);
count++;
}
}
while (!st.empty())
{
int temp = st.top();
st.pop();
qu.push(temp);
for (int i = 0; i < n; i++)
{
if (arr[temp][i] == 1)
{
k[i]--;
if (k[i] == 0)
{
st.push(i);
count++;
}
}
}
}
if (count == n)
return true;
else
return false;
}
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> arr[i][j];
if (arr[i][j] == 1)
{
k[j]++;
}
}
}
if(tuopu())
{
while (!qu.empty())
{
cout << qu.front() << " ";
qu.pop();
}
cout << endl;
}
else
{
cout << "ERROR" << endl;
}
return 0;
}