/*
Author : Chandan Agrawal
College : Poornima College of Engg. jaipur, Raj
Mail : chandanagrawal23@gmail.com
" when you are not practicing someone else is ,
and the day u meet them u will lose "
*/
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
#define fastio ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define MAX 2050
#define ll long long
#define ld long double
#define lli int
#define pb push_back
#define INF 1000000000000
#define mod 1000000007
// trignometric function always give value in Radians only
#define PI acos(-1) //3.1415926535897932384626433832795028
#define dsin(degree) sin(degree*(PI/180.0))
#define dcos(degree) cos(degree*(PI/180.0))
#define dtan(degree) tan(degree*(PI/180.0))
#define rsin(radian) sin(radian)
#define rcos(radian) cos(radian)
#define rtan(radian) tan(radian)
#define mem0(a) memset(a,0,sizeof(a))
#define mem1(a) memset(a,-1,sizeof(a))
#define memf(a) memset(a,false,sizeof(a))
#define loop(i,n) for (lli i = 0; i < n; i++)
#define FOR(i,a,b) for (lli i = a; i < b; i+=1)
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(x) int(x.size())
#define F first
#define S second
#define mii map<lli,lli>
#define mci map<char,lli>
#define vi vector<lli>
#define vbool vector<bool>
#define seti set<lli>
#define pii pair<lli,lli>
#define pcc pair<char,char>
#define gcd(a,b) __gcd((a),(b))
#define lcm(a,b) (a/gcd(a,b))*b
#define abs(x) ((x < 0)?-(x):x)
#define endl '\n'
template <typename T>
void print(T x){cout<<x<<endl;}
template <typename T1, typename T2>
void print2(T1 x,T2 y){cout<<x<<" "<<y<<endl;}
template <typename T1, typename T2,typename T3>
void print3(T1 x, T2 y,T3 z){cout<<x<<" "<<y<<" "<<z<<endl;}
#define scanarr(a,n) for(lli i=0;i<n;i++) cin>>a[i];
#define scanvec(a,n) for(lli i=0;i<n;i++){ lli x ; cin>>x; a.pb(x);}
#define printarr(a,n) for(lli i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl;
#define printvec(vec) for(auto xt : vec) cout<<xt<<" "; cout<<"\n";
#define FD(N) fixed<<setprecision(N)
#define deb(x) cout<<#x<<" "<<x<<endl;
// chandan1,2
void chandan1(){int y=1;return;}
void chandan2(){
loop(i,10){
lli x=1;
}
return(chandan1());
}
vi adj[MAX];
lli bfs(lli src , lli n)
{
queue<lli>q;
bool vis[n+1]={0};
lli parent[n+1]={0};
vis[src]=1;
parent[src]=-1;
q.push(src);
while(!q.empty())
{
lli u = q.front(); q.pop();
for(auto xt : adj[u])
{
if(xt == src)
{
lli cnt = 0;
while(u!=-1){
cnt++;
u = parent[u];
//cout<<u<<" ";
}
return cnt;
}
if(!vis[xt])
{
q.push(xt);
vis[xt]=1;
parent[xt] = u;
}
}
}
return -1;
}
int main(){
fastio
lli t=1;
//cin>>t;
//chandan2();
while(t--) {
lli n;
scanf("%d", &n);
loop(i,n)
{
loop(j,n)
{
lli x;
scanf("%d", &x);
if(x==1)
adj[i+1].pb(j+1);
}
}
for(lli i=1;i<=n;i++)
{
lli val = bfs(i,n);
if(val==-1)
printf("NO WAY\n");
else
printf("%d\n", val);;
}
}
return 0;
}
LyoKQXV0aG9yIDogQ2hhbmRhbiBBZ3Jhd2FsCkNvbGxlZ2UgOiBQb29ybmltYSBDb2xsZWdlIG9mIEVuZ2cuIGphaXB1ciwgUmFqCk1haWwgOiBjaGFuZGFuYWdyYXdhbDIzQGdtYWlsLmNvbQoKCiIgd2hlbiB5b3UgYXJlIG5vdCBwcmFjdGljaW5nIHNvbWVvbmUgZWxzZSBpcyAsCiBhbmQgdGhlIGRheSB1IG1lZXQgdGhlbSB1IHdpbGwgbG9zZSAiCgoqLwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZTxzdGRpby5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBmYXN0aW8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSBNQVggMjA1MAoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIGxsaSAgaW50CgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIElORiAxMDAwMDAwMDAwMDAwCiNkZWZpbmUgbW9kIDEwMDAwMDAwMDcKCi8vIHRyaWdub21ldHJpYyBmdW5jdGlvbiBhbHdheXMgZ2l2ZSB2YWx1ZSBpbiBSYWRpYW5zIG9ubHkKI2RlZmluZSBQSSBhY29zKC0xKSAvLzMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAyOAojZGVmaW5lIGRzaW4oZGVncmVlKSBzaW4oZGVncmVlKihQSS8xODAuMCkpCiNkZWZpbmUgZGNvcyhkZWdyZWUpIGNvcyhkZWdyZWUqKFBJLzE4MC4wKSkKI2RlZmluZSBkdGFuKGRlZ3JlZSkgdGFuKGRlZ3JlZSooUEkvMTgwLjApKQoKI2RlZmluZSByc2luKHJhZGlhbikgc2luKHJhZGlhbikKI2RlZmluZSByY29zKHJhZGlhbikgY29zKHJhZGlhbikKI2RlZmluZSBydGFuKHJhZGlhbikgdGFuKHJhZGlhbikKCiNkZWZpbmUgbWVtMChhKSBtZW1zZXQoYSwwLHNpemVvZihhKSkKI2RlZmluZSBtZW0xKGEpIG1lbXNldChhLC0xLHNpemVvZihhKSkKI2RlZmluZSBtZW1mKGEpIG1lbXNldChhLGZhbHNlLHNpemVvZihhKSkKCiNkZWZpbmUgbG9vcChpLG4pIGZvciAobGxpIGkgPSAwOyBpIDwgbjsgaSsrKQojZGVmaW5lIEZPUihpLGEsYikgZm9yIChsbGkgaSA9IGE7IGkgPCBiOyBpKz0xKQoKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSByYWxsKHYpIHYucmJlZ2luKCksdi5yZW5kKCkKI2RlZmluZSBzeih4KSBpbnQoeC5zaXplKCkpCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCgojZGVmaW5lIG1paSBtYXA8bGxpLGxsaT4KI2RlZmluZSBtY2kgbWFwPGNoYXIsbGxpPgojZGVmaW5lIHZpIHZlY3RvcjxsbGk+CiNkZWZpbmUgdmJvb2wgdmVjdG9yPGJvb2w+CiNkZWZpbmUgc2V0aSBzZXQ8bGxpPgojZGVmaW5lIHBpaSBwYWlyPGxsaSxsbGk+CiNkZWZpbmUgcGNjIHBhaXI8Y2hhcixjaGFyPgoKI2RlZmluZSBnY2QoYSxiKSBfX2djZCgoYSksKGIpKQojZGVmaW5lIGxjbShhLGIpIChhL2djZChhLGIpKSpiCiNkZWZpbmUgYWJzKHgpICgoeCA8IDApPy0oeCk6eCkKCiNkZWZpbmUgZW5kbCAnXG4nCgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBwcmludChUIHgpe2NvdXQ8PHg8PGVuZGw7fQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgp2b2lkIHByaW50MihUMSB4LFQyIHkpe2NvdXQ8PHg8PCIgIjw8eTw8ZW5kbDt9CnRlbXBsYXRlIDx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsdHlwZW5hbWUgVDM+CnZvaWQgcHJpbnQzKFQxIHgsIFQyIHksVDMgeil7Y291dDw8eDw8IiAiPDx5PDwiICI8PHo8PGVuZGw7fQoKI2RlZmluZSBzY2FuYXJyKGEsbikgZm9yKGxsaSBpPTA7aTxuO2krKykgICAgY2luPj5hW2ldOwojZGVmaW5lIHNjYW52ZWMoYSxuKSBmb3IobGxpIGk9MDtpPG47aSsrKXsgbGxpIHggOyBjaW4+Png7IGEucGIoeCk7fQoKI2RlZmluZSBwcmludGFycihhLG4pIGZvcihsbGkgaT0wO2k8bjtpKyspICAgY291dDw8YVtpXTw8IiAiOyBjb3V0PDxlbmRsOwojZGVmaW5lIHByaW50dmVjKHZlYykgZm9yKGF1dG8geHQgOiB2ZWMpIGNvdXQ8PHh0PDwiICI7ICAgIGNvdXQ8PCJcbiI7CgojZGVmaW5lIEZEKE4pIGZpeGVkPDxzZXRwcmVjaXNpb24oTikKCiNkZWZpbmUgZGViKHgpIGNvdXQ8PCN4PDwiICI8PHg8PGVuZGw7CgovLyBjaGFuZGFuMSwyCnZvaWQgY2hhbmRhbjEoKXtpbnQgeT0xO3JldHVybjt9CnZvaWQgY2hhbmRhbjIoKXsKICAgICAgICBsb29wKGksMTApewogICAgICAgIGxsaSB4PTE7CiAgICB9CiAgICByZXR1cm4oY2hhbmRhbjEoKSk7Cn0KCnZpIGFkaltNQVhdOwoKbGxpIGJmcyhsbGkgc3JjICwgbGxpIG4pCnsKICAgIHF1ZXVlPGxsaT5xOwogICAgYm9vbCB2aXNbbisxXT17MH07CiAgICBsbGkgcGFyZW50W24rMV09ezB9OwogICAgdmlzW3NyY109MTsKICAgIHBhcmVudFtzcmNdPS0xOwogICAgcS5wdXNoKHNyYyk7CiAgICB3aGlsZSghcS5lbXB0eSgpKQogICAgewogICAgICAgIGxsaSB1ID0gcS5mcm9udCgpOyBxLnBvcCgpOwogICAgICAgIAogICAgICAgIGZvcihhdXRvIHh0IDogYWRqW3VdKQogICAgICAgIHsKICAgICAgICAgICAgaWYoeHQgPT0gc3JjKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBsbGkgY250ID0gMDsKICAgICAgICAgICAgICAgIHdoaWxlKHUhPS0xKXsKICAgICAgICAgICAgICAgICAgICAgICAgY250Kys7CiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBwYXJlbnRbdV07CiAgICAgICAgICAgICAgICAgICAgICAgIC8vY291dDw8dTw8IiAiOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gY250OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCF2aXNbeHRdKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBxLnB1c2goeHQpOwogICAgICAgICAgICAgICAgdmlzW3h0XT0xOwogICAgICAgICAgICAgICAgcGFyZW50W3h0XSA9IHU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gLTE7CiAgICAKICAgIAp9CgoKaW50IG1haW4oKXsKZmFzdGlvCmxsaSB0PTE7Ci8vY2luPj50OwovL2NoYW5kYW4yKCk7CndoaWxlKHQtLSkgewogICAgbGxpIG47CiAgICBzY2FuZigiJWQiLCAmbik7CiAgICBsb29wKGksbikKICAgIHsKICAgICAgICBsb29wKGosbikKICAgICAgICB7CiAgICAgICAgICAgIGxsaSB4OwogICAgICAgICAgICBzY2FuZigiJWQiLCAmeCk7CiAgICAgICAgICAgIGlmKHg9PTEpCiAgICAgICAgICAgICAgICBhZGpbaSsxXS5wYihqKzEpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgZm9yKGxsaSBpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgbGxpIHZhbCA9IGJmcyhpLG4pOwogICAgICAgIGlmKHZhbD09LTEpCiAgICAgICAgICAgIHByaW50ZigiTk8gV0FZXG4iKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50ZigiJWRcbiIsIHZhbCk7OwogICAgICAgIAogICAgfQogICAgCgoKICB9CnJldHVybiAwOwp9Cg==