/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
scanf("%d",&a);
if(a<=500)
{
printf("%d",(int)(a*0.7));
}
else if(a<=1500)
{
printf("%d",(int)(350+(a-500)*0.4));
}
else if(a<=4500)
{
printf("%d",(int)(750+(a-1500)*0.15));
}
else if(a<=10000)
{
printf("%d",(int)(1200+(a-4500)*0.05));
}
else
{
printf("%d",(int)(1475+(a-10000)*0.02));
}
return 0;
}
*/
/*
2차원배열
중첩반복문 이용해서 입출력
int i, j;
int arr[50]; 주택
arr[0] ~ arr[49] 50개
int arr[50][50]; 아파트
층 호수
*/
/*
#include <stdio.h>
int main()
{
int a[101][101],b,k=1,i,o;
scanf("%d",&b);
for(i=1;i<=b;i++)
{
for(o=1;o<=b;o++)
{
a[i][o]=k;
k++;
}
}
for(i=1;i<=b;i++)
{
for(o=1;o<=b;o++)
{
printf("%d ",a[i][o]);
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a,b[101][101],i,o,c=1;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
for(o=a;o>=1;o--)
{
b[i][o]=c;
c++;
}
}
for(i=1;i<=a;i++)
{
for(o=1;o<=a;o++)
{
printf("%d ",b[i][o]);
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int b,a[101][101],i,o,c=1;
scanf("%d",&b);
for(i=1;i<=b;i++)
{
c=i;
for(o=1;o<=b;o++)
{
a[i][o]=c;
c=c+b;
}
}
for(i=1;i<=b;i++)
{
for(o=1;o<=b;o++)
{
printf("%d ",a[i][o]);
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int i,o,b,a[101][101],c;
scanf("%d",&b);
for(i=b;i>=1;i--)
{
c=i;
for(o=1;o<=b;o++)
{
a[i][o]=c;
printf("%d ",a[i][o]);
c=c+b;
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a[101][101],b,i,o,c,s;
scanf("%d %d",&b,&s);
c=b*s;
for(i=b;i>=1;i--)
{
for(o=s;o>=1;o--)
{
a[i][o]=c;
printf("%d ",a[i][o]);
c=c-1;
}
printf("\n");
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int a[101][101],b,c=1,i,o,s,n;
scanf("%d %d",&b,&c);
n=b*c;
for(i=1;i<=b;i++)
{
n=n-c;
for(o=1;o<=c;o++)
{
a[i][o]=n;
printf("%d ",a[i][o]);
n=n+1;
}
n=n-c;
printf("\n");
}
}