program tablete;
type matrix=array[1..1000,1..1000] of longint;
var n,k,i,j,x:integer;
a:matrix;
f:text;
begin
assign(f,'tablete.in'); reset(f); read(f,n,k); close(f); x:=0;
for j:= 1 to k-1 do
for i:= 1 to n do
begin
x:=x+1; a[i,j]:=x;
end;
a[n,k-1]:=a[n,k-1]+(a[n,k-1]-1) mod 2;
if (k-1)*n mod 2 =0 then
begin
a[1,k]:=a[n,k-1]-1; a[1,k+1]:=a[1,k]+3;
for i:= 2 to n-1 do
begin
a[i,k]:=a[i-1,k+1]-1;
a[i,k+1]:=a[i,k]+3;
end;
a[n,k]:=a[n-1,k+1]-1; a[n,k+1]:=a[n,k]+2 ;
a[1,k+2]:= a[n,k+1]+1; a[2,k+2]:=a[n,k-1]+1;
for i:=3 to n do a[i,k+2]:=a[i-1,k+2]+1;
for j:=k+3 to n do
begin
a[1,j]:=a[n,j-1]+1;
for i:=2 to n do a[i,j]:=a[i-1,j]+1;
end;
end
else
begin
a[1,k]:=a[n,k-1]+1;a[1,k+1]:=a[1,k]+1;
for i:= 2 to n do
begin
a[i,k]:=a[i-1,k+1]+1; a[i,k+1]:=a[i,k]+1;
end;
for j:=k+2 to n do
begin
a[1,j]:=a[n,j-1]+1;
for i:=2 to n do a[i,j]:=a[i-1,j]+1;
end;
end;
assign(f,'tablete.out'); rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do write(f,a[i,j],' ');
writeln(f);
end;
close(f);
end.