#include<stdio.h>
#define MAX ( 9 + 30 * 4 )
void chushi( char [][ MAX ] , int );
void hua_tu( char [][ MAX ] , int , int , int , int , int );
void output( char [][ MAX ] , int );
int main(void)//1 9 2 13 3 17
{
int N ;
scanf("%d", &N);
char TU[ MAX ][ MAX ];
int BC = 9 + ( N - 1 ) * 4;
chushi( TU , BC );
hua_tu( TU , BC , 0 , N , 3 , 1 );
output( TU , BC );
return 0;
}
void output( char tu[][ MAX ] , int bc )
{
int i , k ;
for( i = 1 ; i <= bc ; i ++ )
{
for( k = 1 ; k <= bc ; k ++ )
{
printf("%c", tu[i][k]);
}
putchar('\n');
}
}
void hua_tu( char tu[][ MAX ] , int bc , int cs , int n , int l , int h ) //3 1
{
if( cs < n )
{
int i = h , k ;
tu[h+1][l] = '$',tu[h+2][l] = '$',tu[h+2][l-1] = '$';
for( k = l ; k <= bc - l + 1 ; k ++ )
{
tu[i][k] = '$';
}
k = bc - h + 1;
tu[l][k-1] = '$',tu[l][k-2] = '$',tu[l-1][k-2] = '$';
for( i = l ; i <= bc - l + 1 ; i ++ )
{
tu[i][k] = '$';
}
i = bc - h + 1;
tu[i-1][bc-l+1] = '$',tu[i-2][bc-l+1] = '$',tu[i-2][bc-l+2] = '$';
for( k = l ; k <= bc - l + 1 ; k ++ )
{
tu[i][k] = '$';
}
k = h;
tu[bc-l+1][h+1] = '$',tu[bc-l+1][h+2] = '$',tu[bc-l+2][h+2] = '$';
for( i = l ; i <= bc - l + 1 ; i ++ )
{
tu[i][k] = '$';
}
hua_tu( tu , bc , cs + 1 , n , l + 2 , h + 2 );
}
}
void chushi( char tu[][ MAX ] , int bc )
{
int i , k ;
for( i = 1 ; i <= bc ; i ++ )
{
for( k = 1 ; k <= bc ; k ++ )
{
tu[i][k] = '.';
}
}
i = bc / 2 - 2 , k = bc / 2 + 1 ;
while( i ++ < bc / 2 + 3 )
{
tu[i][k] = '$';
}
i = bc / 2 + 1 , k = bc / 2 - 2 ;
while( k ++ < bc / 2 + 3 )
{
tu[i][k] = '$';
}
}