#include <iostream>
#include <vector>
using namespace std;
void dfs (int v, vector <vector <int>>& g, vector<bool>& visited, int& res) {
visited[v] = true;
res++;
for (auto i : g[v]) {
if (!visited[i]) {
dfs(i, g, visited, res);
}
}
}
int main()
{
int n, me;
cin >> n >> me;
vector <vector <int>> g(n + 1, vector <int> ());
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
bool t;
cin >> t;
if (t) {
g[i].push_back(j);
}
}
}
int res = -1;
vector <bool> visited(n + 1, false);
dfs(me, g, visited, res);
cout << res;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBkZnMgKGludCB2LCB2ZWN0b3IgPHZlY3RvciA8aW50Pj4mIGcsIHZlY3Rvcjxib29sPiYgdmlzaXRlZCwgaW50JiByZXMpIHsKICAgIHZpc2l0ZWRbdl0gPSB0cnVlOwogICAgcmVzKys7CgogICAgZm9yIChhdXRvIGkgOiBnW3ZdKSB7CiAgICAgICAgaWYgKCF2aXNpdGVkW2ldKSB7CiAgICAgICAgICAgIGRmcyhpLCBnLCB2aXNpdGVkLCByZXMpOwogICAgICAgIH0KICAgIH0KCn0KCmludCBtYWluKCkKewogICAgaW50IG4sIG1lOwogICAgY2luID4+IG4gPj4gbWU7CgogICAgdmVjdG9yIDx2ZWN0b3IgPGludD4+IGcobiArIDEsIHZlY3RvciA8aW50PiAoKSk7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gbjsgaisrKSB7CiAgICAgICAgICAgIGJvb2wgdDsKICAgICAgICAgICAgY2luID4+IHQ7CgogICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgICAgZ1tpXS5wdXNoX2JhY2soaik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaW50IHJlcyA9IC0xOwogICAgdmVjdG9yIDxib29sPiB2aXNpdGVkKG4gKyAxLCBmYWxzZSk7CgkKCiAgICBkZnMobWUsIGcsIHZpc2l0ZWQsIHJlcyk7CgogICAgY291dCA8PCByZXM7CiAgICByZXR1cm4gMDsKfQ==