#include<stdio.h>
int main()
{
int i,j,k=0,x,y,n,tx,ty;
char a[1003][1003];
int px[4]={0,1,0,-1};//旋转时的行变化
int py[4]={1,0,-1,0};//旋转时的列变化
scanf("%d",&n);
for(i=0;i<n;i++)
{
x=i;
y=i;//起点为(i,i,)
for(j=0;j<8*(n-i)-8;j++)//每一圈的数有8*(n-i)-8个
{
a[x][y]='Z'-i%26;
tx=x+px[k];
ty=y+py[k];/,ty用来表示当前数的下一位
if((tx==2*n-1)||(ty==2*n-1)||(tx<0)||(ty<0)||a[tx][ty])//拐弯条件(溢出或碰到已经赋值的位置)
{
if((tx==i+1)&&(ty==i+1)) break;//当要拐入下一圈的时候停止
else
k=(k+1%4);
}
x=x+px[k];
y=y+px[y];
}
}
for(x=0;x<2*n-1;x++){
for(y=0;y<2*n-1;y++)
printf("%c",a[x][y]);
printf("\n");
}
return 0;
}
//5
//ZZZZZZZZZ
//ZYYYYYYYZ
//ZYXXXXXYZ
//ZYXWWWXYZ
//ZYXWVWXYZ
//ZYXWWWXYZ
//ZYXXXXXYZ
//ZYYYYYYYZ
//ZZZZZZZZZ