#include <stdio.h>
int main( ) {
int n;
scanf ( "%d" , & n) ;
char simbolos[ 52 ] = {
'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' , 'K' , 'L' , 'M' ,
'N' , 'O' , 'P' , 'Q' , 'R' , 'S' , 'T' , 'U' , 'V' , 'W' , 'X' , 'Y' , 'Z' ,
'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' , 'k' , 'l' , 'm' ,
'n' , 'o' , 'p' , 'q' , 'r' , 's' , 't' , 'u' , 'v' , 'w' , 'x' , 'y' , 'z'
} ;
int dimensao = 2 * n + 1 ;
char matriz[ 104 ] [ 104 ] ;
for ( int i = 0 ; i < dimensao; i++ ) {
for ( int j = 0 ; j < dimensao; j++ ) {
matriz[ i] [ j] = ' ' ;
}
}
for ( int camada = 0 ; camada < n; camada++ ) {
char caractere = simbolos[ camada + 1 ] ;
for ( int i = camada; i < dimensao - camada; i++ ) {
for ( int j = camada; j < dimensao - camada; j++ ) {
matriz[ i] [ j] = caractere;
}
}
}
matriz[ n] [ n] = '*' ;
for ( int i = 0 ; i < dimensao; i++ ) {
for ( int j = 0 ; j < dimensao; j++ ) {
printf ( "%c" , matriz[ i] [ j] ) ;
if ( j ! = dimensao - 1 ) printf ( " " ) ;
}
printf ( "\n " ) ;
}
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgc2NhbmYoIiVkIiwgJm4pOwoKICAgIGNoYXIgc2ltYm9sb3NbNTJdID0gewogICAgICAgICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywKICAgICAgICAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsCiAgICAgICAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLAogICAgICAgICduJywgJ28nLCAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6JwogICAgfTsKCiAgICBpbnQgZGltZW5zYW8gPSAyICogbiArIDE7CiAgICBjaGFyIG1hdHJpelsxMDRdWzEwNF07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBkaW1lbnNhbzsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBkaW1lbnNhbzsgaisrKSB7CiAgICAgICAgICAgIG1hdHJpeltpXVtqXSA9ICcgJzsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgY2FtYWRhID0gMDsgY2FtYWRhIDwgbjsgY2FtYWRhKyspIHsKICAgICAgICBjaGFyIGNhcmFjdGVyZSA9IHNpbWJvbG9zW2NhbWFkYSArIDFdOwoKICAgICAgICBmb3IgKGludCBpID0gY2FtYWRhOyBpIDwgZGltZW5zYW8gLSBjYW1hZGE7IGkrKykgewogICAgICAgICAgICBmb3IgKGludCBqID0gY2FtYWRhOyBqIDwgZGltZW5zYW8gLSBjYW1hZGE7IGorKykgewogICAgICAgICAgICAgICAgbWF0cml6W2ldW2pdID0gY2FyYWN0ZXJlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIG1hdHJpeltuXVtuXSA9ICcqJzsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IGRpbWVuc2FvOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGRpbWVuc2FvOyBqKyspIHsKICAgICAgICAgICAgcHJpbnRmKCIlYyIsIG1hdHJpeltpXVtqXSk7CiAgICAgICAgICAgIGlmIChqICE9IGRpbWVuc2FvIC0gMSkgcHJpbnRmKCIgIik7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=