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