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
****************************************************************/