from collections import deque
q = deque()
n = int(input())
a = []
for i in range(n):
row = input().split()
for i in range(len(row)):
row[i] = int(row[i])
a.append(row)
v = [-1]*n
str = input().split()
s = int(str[0]) - 1
f = int(str[1]) - 1
v[s] = 0
q.append(s)
while len(q) > 0:
u = q.popleft()
for i in range (n):
if a[i][u] == 1 and v[i] == -1:
v[i] = v[u] + 1
q.append(i)
print(v[f])
if v[f] > 0:
x = [0]*(v[f] + 1)
x[0] = f
for i in range(1, v[f] + 1):
for j in range(n):
if (a[j][x[i - 1]] == 1 and v[j] == v[x[i-1]] - 1):
x[i] = j
break
y = [0]*len(x)
for i in range(len(x)):
y[i] = x[len(x) - 1 - i]
print(y[i] + 1, end=' ')
ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVxdWUgCnEgPSBkZXF1ZSgpIApuID0gaW50KGlucHV0KCkpIAphID0gW10gCmZvciBpIGluIHJhbmdlKG4pOiAKICAgIHJvdyA9IGlucHV0KCkuc3BsaXQoKSAKICAgIGZvciBpIGluIHJhbmdlKGxlbihyb3cpKTogCiAgICAgICAgcm93W2ldID0gaW50KHJvd1tpXSkgCiAgICBhLmFwcGVuZChyb3cpIAp2ID0gWy0xXSpuIApzdHIgPSBpbnB1dCgpLnNwbGl0KCkgCnMgPSBpbnQoc3RyWzBdKSAtIDEgCmYgPSBpbnQoc3RyWzFdKSAtIDEgCnZbc10gPSAwIApxLmFwcGVuZChzKSAKd2hpbGUgbGVuKHEpID4gMDogCiAgICB1ID0gcS5wb3BsZWZ0KCkgCiAgICBmb3IgaSBpbiByYW5nZSAobik6IAogICAgICAgIGlmIGFbaV1bdV0gPT0gMSBhbmQgdltpXSA9PSAtMTogCiAgICAgICAgICAgIHZbaV0gPSB2W3VdICsgMSAKICAgICAgICAgICAgcS5hcHBlbmQoaSkgCnByaW50KHZbZl0pIAppZiB2W2ZdID4gMDogCiAgICB4ID0gWzBdKih2W2ZdICsgMSkgCiAgICB4WzBdID0gZiAKICAgIGZvciBpIGluIHJhbmdlKDEsIHZbZl0gKyAxKTogCiAgICAgICAgZm9yIGogaW4gcmFuZ2Uobik6IAogICAgICAgICAgICBpZiAoYVtqXVt4W2kgLSAxXV0gPT0gMSBhbmQgdltqXSA9PSB2W3hbaS0xXV0gLSAxKTogCiAgICAgICAgICAgICAgICB4W2ldID0gaiAKICAgICAgICAgICAgICAgIGJyZWFrIAp5ID0gWzBdKmxlbih4KQpmb3IgaSBpbiByYW5nZShsZW4oeCkpOgogICAgeVtpXSA9IHhbbGVuKHgpIC0gMSAtIGldCiAgICBwcmludCh5W2ldICsgMSwgZW5kPScgJykK