/*#include <stdio.h>
#include <string.h>
int main()
{
char str[101];
int i,c=0,cc=0;
scanf("%s",str);
for(i=0; str[i]!=NULL; i++)
{
if(str[i]=='c'||str[i]=='C')
{
c=c+1;
if(str[i+1]=='c'||str[i+1]=='C')
{
cc=cc+1;
}
}
}
printf("%d\n%d",c,cc);
}*/
/*#include <stdio.h>
#include <string.h>
int main()
{
char str[201];
int i;
gets(str);
for(i=0;str[i]!=NULL;i++)
{
if(str[i]>=100)
{
str[i]=str[i]-3;
}
else if(str[i]>32&&str[i]<100)
{
str[i]=str[i]+23;
}
}
printf("%s",str);
return 0;
}
/*#include <stdio.h>
int main()
{
char n;
scanf("%c",&n);
printf("%d",n);
return 0;
}*/
/*
('3'-'0') + '3' + '2' + '1'
3 +
#include <stdio.h>
#include <string.h>
int main()
{
char str[501];
int i,a;
int sum=0;
scanf("%s",str);
a=strlen(str); // str 의 길이
printf("%d",a);
for(i=0;i<a;i++)
{
sum=sum+str[i]-'0';
}
// printf("%d\n",sum);
printf("%d",sum%3==0);
return 0;
}
char s[500];
scanf("%s",&s[0]);
&s[0] == s
*/
/*#include <stdio.h>
#include <string.h>
int main()
{
char str1[101],str2[101];
int i;
scanf("%s %s",str1,str2);
int a=strlen(str1);
int b=strlen(str2);
if(a>b)
{
printf("%s %s",str2,str1);
}
else if(a<b)
{
printf("%s %s",str1,str2);
}
else
{
for(i=0;i<a;i++)
{
if(str1[i]>str2[i])
{
printf("%s %s",str2,str1);
break;
}
else if(str1[i]<str2[i])
{
printf("%s %s",str1,str2);
break;
}
}
}
}*/
/*#include <stdio.h>
#include <string.h>
int main()
{
char str1[21],str2[21],str3[21];
int i;
scanf("%s %s %s",str1,str2,str3);
int a=strlen(str1),b=strlen(str2),c=strlen(str3);
for(i=0;i<a;i++)
{
str1[i];
}
for(i=0;i<b;i++)
{
str2[i];
}
for(i=0;i<c;i++)
{
str3[i];
}
if(str1[a-1]==str2[0]&&str2[b-1]==str3[0]&&str3[c-1]==str1[0])
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}*/
/*#include <stdio.h>
#include <string.h>
int main()
{
char str[21];
int i;
scanf("%s",str);
for(i=0;str[i]!=NULL;i++)
{
str[i]=str[i]+2;
}
printf("%s\n",str);
for(i=0;str[i]!=NULL;i++)
{
str[i]=(str[i]-2)*7%80+48;
}
printf("%s",str);
return 0;
}*/
/*#include <stdio.h>
#include <string.h>
int main()
{
char str1[21],str2[21],str3[21];
scanf("%s %s %s",str1,str2,str3);
if( str1[strlen(str1)-1]==str2[0]&&str2[strlen(str2)-1]==str3[0]&&str3[strlen(str3)-1]==str1[0])
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}*/
/*1차원 선
2차원 평면
int arr[50]; //arr[0] ~ arr[49]
행 열
int arr[3][50];
i j
*/
#include <stdio.h>
int main()
{
int n,m;
int i, j, k=1;
scanf("%d %d",&n,&m);
int arr[100][100] = {};
for(j=m-1;j>=0;j--)
{
for(i=0;i<n;i++)
{
arr[i][j]=k;
k++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}