/*#include <stdio.h>
int main()
{
int n,i,j,k,l,m,arr[50][50]={};
scanf("%d",&n);
l=1;
m=(n+1)/2;
for(k=1;k<=n*n;k++)
{
arr[l][m]=k;
if(k%n==0)
{
l++;
if(l==n+1)
l=1;
}
else
{
l--;
if(l==0)
l=n;
m++;
if(m==n+1)
m=1;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
}
#include <stdio.h>
int main()
{
int i,j,p=2,q=2,arr[11][11]={};
for(i=1;i<=10;i++)
{
for(j=1;j<=10;j++)
scanf("%d",&arr[i][j]);
}
for(;;)
{
if(arr[p][q]==2)
{
arr[p][q]=9;
break;
}
else
arr[p][q]=9;
if(arr[p][q+1]!=1)
q++;
else if(arr[p+1][q]!=1)
p++;
else
break;
}
for(i=1;i<=10;i++)
{
for(j=1;j<=10;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
return 0;
}*/
#include <stdio.h>
int main()
{
int i,j,n,m,k=1,l=1,d=0,arr[102][102]={};
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
{
arr[i][m+1]=1;
arr[i][0]=1;
}
for(j=1;j<=m;j++)
{
arr[n+1][j]=1;
arr[0][j]=1;
}
for(i=1;i<=n*m;i++)
{
arr[k][l]=i;
if(d==0)
{
if(arr[k][l+1]!=0)
{
d++;
k++;
}
else
l++;
}
if(d==1)
{
if(arr[k+1][l]!=0)
{
d++;
l--;
}
else
k++;
}
if(d==2)
{
if(arr[k][l-1]!=0)
{
d++;
k--;
}
else
l--;
}
if(d==3)
{
if(arr[k-1][l]!=0)
{
d=0;
l++;
}
else
k--;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
return 0;
}