/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a[12][11]= {},i,j,sum=0;
for(i=1; i<=11; i++)
{
for(j=1; j<=10; j++)
{
scanf("%d",&a[i][j]);
}
}
for(j=1; j<=10; j++) ---1509 2차원배열 진격후 결과
{
if(a[11][j]!=0)
{
sum=0;
for(i=10; i>=1; i--)
{
if(a[i][j]>0)
{
sum=1; break;
}
else if(a[i][j]<0)
{
sum=2; break;
}
}
if(sum==1)
{
printf("%d crash\n",j);
}
else if(sum==2)
{
printf("%d fall\n",j);
}
else
{
printf("%d safe\n",j);
}
}
}
return 0;
}
*/
/*
#include <stdio.h>
int main() //행=가로,열=세로
{
int a[51][51]={},n,i,j,k=0;
scanf("%d",&n);
i=1;
j=n/2+1;
for(k=1;k<=n*n;k++)
{
a[i][j]=k; -------1510 2차원배열 홀수 마방진
if(k%n==0)
{
i++;
continue; //break는 바로 멈춘다면
} //coontinue 는 처음 for 으로 돌아감
if(i==1)
{
i=n;
}
else
{
i--;
}
if(j==n)
{
j=1;
}
else
{
j++;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int a[101][101]= {},i,j,n,x,y,k=1,m=1;
scanf("%d\n%d %d",&n,&x,&y);
i=x;
for(j=y; j<=n; j++)
{
a[i][j]=k++;
}
for(j=y; j>=1; j--)
{
a[i][j]=m++;
}
k=1;
j=y;
for(i=x; i<=n; i++)
{
a[i][j]=k++;
}
k=1;
for(i=x; i>=1; i--) 못푼 숙제
{
a[i][j]=k++;
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}