#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; }