n,m=map(int,input().split())
l=[[n*j+i+1 for i in range(n)]for j in range(n)]
for i in range(m):
x,y,r,z=map(int,input().split())
x=x-1
y=y-1
new=[]
for i in range(n):
new.append([])
for i in range(x-r):
for j in range(n):
new[i].append(l[i][j])
for i in range(x-r,x+r+1):
for j in range(y-r):
new[i].append(l[i][j])
for i in range(2*r+1):
for j in range(2*r+1):
new[y+j-r].append(l[x+i-r][y+j-r])
if z==0:
for j in range(r+1):
for i in range(x-r,x+r+1):
a,b=new[i][y+j],new[i][y-j]
new[i][y-j],new[i][y+j]=a,b
elif z==1:
for i in range(r+1):
for j in range(y-r,y+r+1):
a,b=new[x+i][j],new[x-i][j]
new[x-i][j],new[x+i][j]=a,b
for i in range(x-r,x+r+1):
for j in range(y+r+1,n):
new[i].append(l[i][j])
for i in range(x+r+1,n):
for j in range(n):
new[i].append(l[i][j])
l=new
for i in range(n):
l[i]=[str(x) for x in l[i]]
print(' '.join(l[i]))