/*
#include <stdio.h>
int main()
{
int arr[101][101]= {};
int a,b,i,j,e=1,dir,l,n;
scanf("%d %d",&a,&b);
i=0;
j=0;
dir=1;
arr[i][j]=1;
for(n=0;n<a*b;n++)
{
if(dir==1)
{
for(l=1; l<=b; l++)
{
if(arr[i][j+1]>0||j==b-1)
{
arr[i][j]=e;
dir = dir +1;
break;
}
else
{
j++;
e= e+1;
arr[i][j]=e;
}
}
}
else if(dir==2)
{
for(l=1; l<=a; l++)
{
if(arr[i+1][j]>0||i==a-1)
{
dir = dir +1;
arr[i][j]=e;
break;
}
else
{
i++;
e= e+1;
arr[i][j]=e;
}
}
}
else if(dir==3)
{
for(l=b; l>=1; l--)
{
if(arr[i][j-1]>0||j==0)
{
arr[i][j]=e;
dir = dir +1;
break;
}
j--;
e= e+1;
arr[i][j]=e;
}
}
else if(dir==4)
{
for(l=a; l>=0; l--)
{
if(arr[i-1][j]>0||i==0)
{
arr[i][j]=e;
dir = dir -3;
break;
}
else
{
i--;
e= e+1;
arr[i][j]=e;
}
}
}
}
for(i=0; i<a; i++)
{
for(j=0; j<b; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
*/
#include <stdio.h>
int main()
{
int arr[101][101]= {};
int a,b,i,j,d,f,e=1,k=0,dir,o;
scanf("%d %d",&a,&b);
i=0;
j=0;
arr[i][j]=e++;
d=0;
i=1;
dir=1;
for(f=0; f<a*b-1; f++)
{
if(i>0&&dir==1)
{
printf("e = %d (%d, %d)\n",e,i,j);
arr[i][j]=e++;
i--;
j++;
if(i==0||j==b-1)
{
dir=2;
}
}
else if(dir==2)
{
k= k+1;
printf("e = %d (%d, %d)\n",e,i,j);
arr[i][j]=e++;
i=i+k;
if(i+k>a-1)
{
i=a-1;
j=0;
}
if(arr[i][j]>0)
{
for(j=0; arr[i][j]==0; j++)
{
o++;
}
}
dir=1;
for(o=0;o<100;o++)
{
if(arr[i][j]>0)
{
j=j+1;
}
}
}
}
for(i=0; i<a; i++)
{
for(j=0; j<b; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
}



