def bfs(x, y):
global c, n, q, u, k
q.append([x, y])
w=4 #따라 잡았나?
while len(q) != 0:
temp = q.pop(0)
e, p = temp[0], temp[1] # e,p = x,y(위치)
if e != c - 1 and n[e + 1][p] == 0 :
q.append([e + 1, p])
n[e+1][p]=k
w -= 1
u += 1
if e != 0 and n[e - 1][p] == 0 : #이게 틀림
q.append([e - 1, p])
n[e-1][p]=k
w-=1
u += 1
if p != c - 1 and n[e][p + 1] == 0 :
q.append([e, p + 1])
n[e][p+1]=k
w-=1
u += 1
if p != 0 and n[e][p - 1] == 0 :
q.append([e, p - 1])
n[e][p-1]=k
w-=1
u += 1
if w == 0:
for i in range(c): # 맵 출력
for j in range(c):
print(n[i][j], end=' ')
print("")
print("w",w,"u",u)
k += 1
w = u
c = int(input())
q = [] # 리스트
n = [] # 맵
u = 2 # help w
k = 2 # 등고선 숫자
for o in range(c): # 설정(맵 제작)
l = [0] * c
n.append(l)
i, j = map(int, input().split()) # 시작 위치
n[i - 1][j - 1] = 1 #1
bfs(i - 1, j - 1)
print("")
for i in range(c): # 맵 출력
for j in range(c):
print(n[i][j], end=' ')
print()
'''
def bfs(x, y):
global c, n, q, u, k
q.append([x, y])
w=4 #따라 잡았나?
while len(q) != 0:
temp = q.pop(0)
e, p = temp[0], temp[1] # e,p = x,y(위치)
if e != c - 1 and n[e + 1][p] == 0 :
q.append([e + 1, p])
n[e+1][p]=k
w -= 1
u += 1
if e != 0 and n[e - 1][p] == 0 :
q.append([e - 1, p])
n[e-1][p]=k
w-=1
u += 1
if p != c - 1 and n[e][p + 1] == 0 :
q.append([e, p + 1])
n[e][p+1]=k
w-=1
u += 1
if p != 0 and n[e][p - 1] == 0
q.append([e, p - 1])
n[e][p-1]=k
w-=1
u += 1
if w == 0:
for i in range(5): # 맵 출력
for j in range(5):
print(n[i][j], end=' ')
print()
k += 1
w = u
c = int(input()
q = [] # 리스트
n = [] # 맵
u = 2 # help w
k = 2 # 등고선 숫자
for o in range(c): # 설정(맵 제작)
l = [0] * c
n.append(l)
i, j = map(int, input().split()) # 시작 위치
n[i - 1][j - 1] = 1 #1
bfs(i - 1, j - 1)
print("")
for i in range(c): # 맵 출력
for j in range(c):
print(n[i][j], end=' ')
print()
'''

