#include<stdio.h>
int a[10][10],n,m;
void dfs(int i,int j,int k){
	if(i<1||i>n||j<1||j>m||a[i][j]!=0) return;
	a[i][j] = k;
	//四方向
	dfs(i,j+1,k+1);
	dfs(i+1,j,k+1); 
	dfs(i,j-1,k+1);
	dfs(i-1,j,k+1);
}
int main(){
   scanf("%d%d",&n,&m);
   int i,j;
   dfs(1,1,1);
   for(i=1;i<=n;i++){
   	   for(j=1;j<=m;j++){
   			printf("%3d",a[i][j]);
	   }
	   printf("\n");
   } 
    return 0;
}

/**************************************************************
	Problem: 1586
	User: admin
	Language: C
	Result: Accepted
	Time:53 ms
	Memory:1144 kb
****************************************************************/