def BFS(g,s):
visited[s]=True
queue=[s]
while queue:
v=queue.pop(0)
for nxt in sorted(g[v]):
if not visited[nxt]:
queue.append(nxt)
visited[nxt]=True
a.append(nxt+1)
n,m,s=map(int,input().split())
arr=[]
for i in range(n):
row=list(map(int,input().split()))
arr.append(row)
g=list([] for _ in range(n))
for j in range(m):
t=[]
for i in range(n):
if arr[i][j]==1:
t.append(i)
g[t[0]].append(t[1])
g[t[1]].append(t[0])
a=[s]
visited=[False]*n
BFS(g,s-1)
if False in visited:
print("НЕТ")
else:
print(*a)