import sys
sys.stdin.readline
n=int(input())
m=int(input())
board = [[0 for _ in range(n)] for _ in range(n)]
start=n**2
dx=[1,0,-1,0]
dy=[0,1,0,-1] #아래 오른쪽 위 왼쪽
pivot=0 # 4가지의 경우를 나누기 위한 기준
x=y=0
board[x][y]=start
start-=1
resultx,resulty=0,0
while (True):
nx=x+dx[pivot]
ny=y+dy[pivot] # pivot값에 따라서 좌표를 움직인다.
if(0<=nx<n and 0<=ny<n and not board[nx][ny]):
board[nx][ny]=start
if(start==m):
resultx = nx
resulty = ny
x,y=nx,ny #좌표 저장
start-=1 # 좌표 저장하고 값 -1
else:
pivot=(pivot+1)%4 # 움직이는 패턴이 있기 때문에 4로 나눈 나머지만큼 돌기
if start==0:
break # board 다 채움.
for i in board:
print(*i) # 파이썬식 row 출력방법
print(resultx+1,resulty+1)