var n,m,l,i,j,k:longint;
f,g:text;
begin
assign(f,'tablete.in');
reset(f);
assign(g,'tablete.out');
rewrite(g);
readln(f,n,k);
if k mod 2=0 then
begin
m:=1;
l:=n*k+1;
for i:=1 to n do
begin
for j:=1 to k do begin write(g,m,' '); inc(m);end;
for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
writeln(g);
end;
end
else
if n mod 2=0 then
begin
l:=n*k+1;
for i:=1 to n div 2 do
begin
m:=(i-1)*2*k;
for j:=1 to k-1 do write(g,m+j,' ');
write(g,m+k+1,' ');
for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
writeln(g);
m:=(i-1)*2*k+k;
write(g,m,' ');
for j:=2 to k do write(g,m+j,' ');
for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
writeln(g);
end;
end
else
begin
l:=n*k;
m:=0;
for j:=1 to k-1 do write(g,m+j,' ');
write(g,m+k+1,' ');
write(g,l,' ');
inc(l,2);
for j:=k+2 to n do begin write(g,l,' '); inc(l);end;
writeln(g);
m:=k; write(g,m,' ');
for j:=2 to k do write(g,m+j,' ');
for j:=k+1 to n do begin write(g,l,' '); inc(l);end;
writeln(g);
for i:=2 to n div 2 do
begin
m:=(i-1)*2*k;
for j:=1 to k-1 do write(g,m+j,' ');
write(g,m+k+1,' ');
for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
writeln(g);
m:=(i-1)*2*k+k;
write(g,m,' ');
for j:=2 to k do write(g,m+j,' ');
for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
writeln(g);
end;
m:=(n-1)*k;
for j:=1 to k-1 do write(g,m+j,' ');
write(g,m+k+1,' ');
for j:=k+1 to n do begin write(g,l,' '); inc(l);end;
end;
close(f);
close(g);
end.