#include<stdio.h>
#include<iostream.h>
int main()
{
FILE *f=fopen("tablete.in","r"),*g=fopen("tablete.out","w");
int n,k,k2,j,i,aux;
fscanf(f,"%d%d",&n,&k);
if(n%2==0&&k%2==0)
for(i=1;i<=(n*n);i++)
{
fprintf(g,"%d ",i);
if(i%n==0)
fprintf(g,"\n");
}
if(n%2==0&&k%2==1)
{
for(i=1;i<=n;i++)
{
k2=i;
if(i%2==0)
for(j=1;j<=n;j++)
if(j==k-1)
{
fprintf(g,"%d ",aux);
k2=k2+n;
}
else
{
fprintf(g,"%d ",k2);
k2=k2+n;
}
else
for(j=1;j<=n;j++)
{
if(j!=k)
fprintf(g,"%d ",k2);
else
{
fprintf(g,"%d ",k2-n+1);
aux=k2;
}
k2+=n;
}
fprintf(g,"\n");
}
}
if(n%2==1&&k%2==0)
{
k2=1;
for(i=1;i<=n;i++)
{
if(i%2==1)
{
if(i<2)
{
for(j=1;j<=n;j++)
{
fprintf(g,"%d ",k2);
k2++;
}
}
else
{
fprintf(g,"%d ",k2-n-1);
for(j=2;j<=n;j++)
{
fprintf(g,"%d ",k2);
k2++;
}
}
}
else
{
k2++;
for(j=1;j<=n;j++)
{
fprintf(g,"%d ",k2);
k2++;
}
}
fprintf(g,"\n");
}
}
if(n%2==1&&k%2==1)
{
k2=1;
for(i=1;i<n;i++)
{
for(j=1;j<=n;j++)
{
if(j==2)
k2++;
fprintf(g,"%d ",k2);
k2++;
}
fprintf(g,"\n");
}
k2=2;
for(j=1;j<n;j++)
{
fprintf(g,"%d ",k2);
k2+=n+1;
}
fprintf(g,"%d ",n*n);
}
return 0;
}