import java.util.Scanner;
public class Main {
static int a[][] = new int[10][10];
static int n;
static int m;
// 优先向右, 向下, 向左,向上
static void dfs(int i, int j, int num) {
// 二维数组单元赋值
a[i][j] = num;
if ( j + 1 < m && a[i][j + 1] == 0)
dfs(i, j + 1, num + 1);
if ( i + 1 < n && a[i + 1][j] == 0)
dfs(i + 1, j, num + 1);
if (j - 1 >= 0 && a[i][j - 1] == 0)
dfs(i, j - 1, num + 1);
if (i - 1 >= 0 && a[i - 1][j] == 0)
dfs(i - 1, j, num + 1);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
m = sc.nextInt();
int[][] b=new int[n][m];
a=b;
dfs(0, 0, 1);
for (int i = 0; i < n; i++) {
for (int j = 0; j <m; j++) {
System.out.printf("%3d", a[i][j]);
}
System.out.println();
}
}
}
/**************************************************************
Problem: 1586
User: admin
Language: Java
Result: Accepted
Time:3754 ms
Memory:40552 kb
****************************************************************/