#include <bits/stdc++.h>
#define ll long long int
using namespace std;
const ll N = 105;
vector<ll> graph[N];
ll visited[N];
ll level[N];
ll bfs(ll src, ll des) {
queue<ll> q;
q.push(src);
visited[src]=1;
while(!q.empty()) {
ll cur = q.front();
q.pop();
for(ll child: graph[cur]) {
if(!visited[child]) {
q.push(child);
visited[child] = 1;
level[child]=level[cur]+1;
}
}
}
return level[des];
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
ll n,src,des;cin>>n>>src>>des;
for(ll i=0;i<n;i++) {
for(ll j=0;j<n;j++) {
ll x; cin>>x;
if(x==1) {
graph[i+1].push_back(j+1);
}
}
}
cout<<bfs(src, des)<<"\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBsbCBOID0gMTA1Owp2ZWN0b3I8bGw+IGdyYXBoW05dOwpsbCB2aXNpdGVkW05dOwpsbCBsZXZlbFtOXTsKCmxsIGJmcyhsbCBzcmMsIGxsIGRlcykgewogICAgcXVldWU8bGw+IHE7CiAgICBxLnB1c2goc3JjKTsKICAgIHZpc2l0ZWRbc3JjXT0xOwogICAgd2hpbGUoIXEuZW1wdHkoKSkgewogICAgICAgIGxsIGN1ciA9IHEuZnJvbnQoKTsKICAgICAgICBxLnBvcCgpOwogICAgICAgIGZvcihsbCBjaGlsZDogZ3JhcGhbY3VyXSkgewogICAgICAgICAgICBpZighdmlzaXRlZFtjaGlsZF0pIHsKICAgICAgICAgICAgICAgIHEucHVzaChjaGlsZCk7CiAgICAgICAgICAgICAgICB2aXNpdGVkW2NoaWxkXSA9IDE7CiAgICAgICAgICAgICAgICBsZXZlbFtjaGlsZF09bGV2ZWxbY3VyXSsxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGxldmVsW2Rlc107Cn0KaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7CiAgICBsbCBuLHNyYyxkZXM7Y2luPj5uPj5zcmM+PmRlczsKICAgIGZvcihsbCBpPTA7aTxuO2krKykgewogICAgICAgIGZvcihsbCBqPTA7ajxuO2orKykgewogICAgICAgICAgICBsbCB4OyBjaW4+Png7CiAgICAgICAgICAgIGlmKHg9PTEpIHsKICAgICAgICAgICAgICAgIGdyYXBoW2krMV0ucHVzaF9iYWNrKGorMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0PDxiZnMoc3JjLCBkZXMpPDwiXG4iOwp9Cg==