/*
#include <stdio.h>
int main()
{
int i, j, x, y, k=0;
int map[27][27] = {0};
int newmap[27][27] = {0};
for(i=1 ; i<=25 ; i++)
{
for(j=1 ; j<=25 ; j++)
{
scanf("%d", &map[i][j]);
}
}
for(i=1 ; i<=25 ; i++)
{
for(j=1 ; j<=25 ; j++)
{
for(x=i-1 ; x<=i+1 ; x++)
{
for(y=j-1 ; y<=j+1 ; y++)
{
k += map[x][y] ;
}
}
if(map[i][j]==0 && k==3)
{
newmap[i][j] = 1 ;
}
else if(map[i][j]==1)
{
if(k>=5 || k<=2)
{
newmap[i][j] = 0 ;
}
else
{
newmap[i][j] = 1 ;
}
}
k = 0 ;
}
}
for(i=1 ; i<=25 ; i++)
{
for(j=1 ; j<=25 ; j++)
{
printf("%d ", newmap[i][j]);
}
printf("\n");
}
}
*/
/*
#include <stdio.h>
int main()
{
int i, j, a, b, x, y, z, k, n, u, v, sum=0;
int map[172][172] = {0};
int newmap[172][172] = {0};
scanf("%d %d", &a, &b);
scanf("%d %d %d", &x, &y, &z);
for(i=1 ; i<=a ; i++)
{
for(j=1 ; j<=b ; j++)
{
scanf("%d", &map[i][j]);
}
}
scanf("%d", &k);
for(n=0 ; n<k ; n++)
{
for(i=1 ; i<=a ; i++)
{
for(j=1 ; j<=b ; j++)
{
for(u=i-1 ; u<=i+1 ; u++)
{
for(v=j-1 ; v<=j+1 ; v++)
{
sum += map[u][v] ;
}
}
if(map[i][j]==0 && sum==x)
{
newmap[i][j] = 1 ;
}
else if(map[i][j]==1)
{
if(sum-1>=y && sum-1<z)
{
newmap[i][j] = 1 ;
}
else
{
newmap[i][j] = 0 ;
}
}
sum = 0 ;
}
}
for(i=1 ; i<=a ; i++)
{
for(j=1 ; j<=b ; j++)
{
map[i][j] = newmap[i][j];
}
}
}
for(i=1 ; i<=a ; i++)
{
for(j=1 ; j<=b ; j++)
{
printf("%d ", newmap[i][j]);
}
printf("\n");
}
}
*/
/*
#include <stdio.h>
int main()
{
int n, x, y, i, j;
int map[101][101] = {0};
scanf("%d", &n);
scanf("%d %d", &x, &y);
for(i=1 ; i<=n ; i++)
{
for(j=1 ; j<=n ; j++)
{
map[i][j] = (i>x?i:x) - (i<x?i:x) + (j>y?j:y) - (j<y?j:y) + 1 ;
}
}
for(i=1 ; i<=n ; i++)
{
for(j=1 ; j<=n ; j++)
{
printf("%d ", map[i][j]);
}
printf("\n");
}
}
*/
#include <stdio.h>
int main()
{
int n, x, y, i, j ;
int map[200][200] = {0};
scanf("%d", &n);
scanf("%d %d", &x, &y);
for(i=0 ; i<n ; i++)
{
for(j=0 ; j<n ; j++)
{
map[x+i][y+j] = i+j+1 ;
map[x-i][y+j] = i+j+1 ;
map[x+i][y-j] = i+j+1 ;
map[x-i][y-j] = i+j+1 ;
}
}
for(i=1 ; i<=n ; i++)
{
for(j=1 ; j<=n ; j++)
{
printf("%d ", map[i][j]);
}
printf("\n");
}
}