def turn(array_,n) :
col = []
x_1 = []
x_2 = []
temp = list(array_)
for i in range(n) :
if i == n//2 :
row = list(array_[i])
col.append(array_[i][n//2])
x_1.append(array_[i][i])
x_2.append(array_[i][(n-1)-i])
for k in range(4):
# 왼쪽 대 -> 세로
if k == 0 :
for t in range(n) :
temp[t][n//2] = x_1[t]
# 세로 -> 오른쪽 대
elif k == 1 :
for t in range(n) :
temp[t][(n-1)-t] = col[t]
# 오른쪽 대 -> 가로
elif k == 2 :
for t in range(n) :
temp[n//2][(n-1)-t] = x_2[t]
# 가로 -> 왼대
elif k == 3 :
for t in range(n) :
temp[t][t] = row[t]
return temp
case = int(input())
for _ in range(case) :
n, m = map(int, input().split())
array = [list(map(int,input().split())) for _ in range(n)]
if m >= 0 :
time = ((m//45))
else :
m = -(m)
time = 8 - ((m//45))
for j in range(time) :
array = turn(array,n)
for j in range(n) :
print(*array[j])