//#include <stdio.h>
//
//int main()
//{
// int n, i, arr[100] = {0};
//
// scanf("%d", &n);
//
// if(n==0) {
// printf("0");
// return 0;
// }
// for(i=0; n ; i++) {
// arr[i] = n%2;
// n/=2;
// }
// for(--i;i>=0; i--) {
// printf("%d", arr[i]);
// }
//}
//#include<stdio.h>
//
//int main() {
// int n, k, i;
// int max = -1;
//
// scanf("%d", &n);
// for(i=0; i<n; i++) {
// scanf("%d", &k);
//
// if(k > max) {
// max = k; }
//
//
// }
// printf("%d", max);
//
//
//
//}
//#include<stdio.h>
//
//int main() {
// int n, k, i;
// int a = -1000000, b = 1000000;
//
//
// for(i=0; i<5; i++) {
// scanf("%d", &n);
//
// if(n > a)
// {
// a = n; }
//
// else if(n < b)
// {
// b = n; }
//
//
// }
// printf("%d\n", a);
// printf("%d", b);
//
//
//
//}
//#include<stdio.h>
//
//int main()
//{
// int arr[10000]={0}, a = 0, i;
//
// for(i=0; i<10; i++)
// {
// scanf("%d", &arr[i]);
// }
// scanf("%d", &a);
//
// a--;
//
//
// printf("%d", arr[a]);
//
// return 0;
//}
//#include<stdio.h>
//
//int main()
//{
// int i, j, n;
// int arr[10000]={0}, a = -1, b = 0, c;
//
// scanf("%d", &n);
//
// for(i=0; i<n; i++)
// {
// scanf("%d", &arr[i]);
// }
// for(i=0; i<n; i++)
// {
// a++;
// b = a+b;
// for(j=0; j<n; j++)
// {
// printf("%d ", arr[b]);
// if(n-1 == b)
// {
// b = 0;
// }
// else
// {
// b++;
// }
// }
// b = 0;
// printf("\n");
// }
// return 0;
//
//}
//#include<stdio.h>
//
//int main() {
// int arr[100] = {0};
// int i, j, n;
//
// scanf("%d", &n);
// for(i=0; i<n; i++) {
// scanf("%d", &arr[i]);
// }
//
// for(i=0; i<n; i++) {
// for(j=i; j<n+i; j++) {
// printf("%d ", arr[j%n]);
// }
// printf("\n");
// }
//
//
//}
//#include<stdio.h>
//
//int main()
//{
// int arr[1005] = {0};
// int i, j, n;
//
// scanf("%d", &n);
// for(i=0; i<n; i++)
// {
// scanf("%d", &arr[i]);
// }
//
// for(i=0; i<n; i++)
// {
// printf("%d: ", i+1);
// for(j=0; j<n; j++)
// {
// if(i+1 == j+1)
// {
//
// }
// else
// {
// if(arr[i] == arr[j])
// {
// printf("= ");
// }
// else if(arr[i] < arr[j])
// {
// printf("< ");
// }
// else
// {
// printf("> ");
// }
//
// }
//
// }
// printf("\n");
// }
//
//
// return 0;
//}
//#include<stdio.h>
//
//int main() {
// int map[100][100] = {0};
// int i, n, j, k=1;
//
// scanf("%d", &n);
//
// for(i=0; i<n; i++) {
// for(j=0; j<n; j++) {
// map[i][j] = k++;
// }
// }
//
// for(i=0; i<n; i++) {
// for(j=0; j<n; j++) {
// printf("%d ", map[i][j]);
// }
// printf("\n");
// }
//}
//
//#include<stdio.h>
//
//int main() {
// int map[100][100] = {0};
// int i, n, j, k=1;
//
// scanf("%d", &n);
//
// for(i=0; i<n; i++) {
// for(j=0; j<n; j++) {
// map[i][j] = k++;
// }
// }
//
// for(i=0; i<n; i++) {
// for(j=0; j<n; j++) {
// printf("%d ", map[j][i]);
// }
// printf("\n");
// }
//}
#include<stdio.h>
int main()
{
int map[100][100] = {0};
int i, j, a, b, k = 1;
scanf("%d", &a);
scanf("%d", &b);
for(i=0; i<a; i++)
{
for(j=0; j<b; j++)
{
map[j][i] = k++;
}
}
for(i=a-1; i>=0; i--)
{
for(j=b-1; j>=0; j--)
{
printf("%d ", map[j][i]);
}
printf("\n");
}
return 0;
}