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