#include<stdio.h>
int main(){
char C;
int N,i,a;
int cnt=0,cnt_1=0,cnt_2,sum1=1,sum2=7,sum3,j=1;
scanf("%d %c",&N,&C);
if(N>=7){
for(i=3; ;i+=2){//求出层数
sum1=sum1+2*i;
sum2=sum2+2*(i+1);
cnt++;
if(N>=sum1&&N<sum2){
break;
}
}
cnt_2=cnt;
a=N-sum1;
do{//输出沙漏上面
for(i=0;i<2*cnt+1;i++){
printf("%c",C);
}
printf("\n");
cnt_1++;
if(cnt>0){
for(i=0;i<cnt_1;i++){
printf(" ");
}
}
}while(cnt--);
do{//输出沙漏下面
sum3=2*j+1;
j++;
for(i=0;i<cnt_1-2;i++){
printf(" ");
}
cnt_1--;
if(cnt_2>0){
for(i=0;i<sum3;i++){
printf("%c",C);
}
printf("\n");
}
}while(cnt_2--);
}
if(N>=1&&N<7){//只有一层输出
printf("%c\n",C);
a=N-1;
}
printf("%d",a);
return 0;
}
int main(){
char C;
int N,i,a;
int cnt=0,cnt_1=0,cnt_2,sum1=1,sum2=7,sum3,j=1;
scanf("%d %c",&N,&C);
if(N>=7){
for(i=3; ;i+=2){//求出层数
sum1=sum1+2*i;
sum2=sum2+2*(i+1);
cnt++;
if(N>=sum1&&N<sum2){
break;
}
}
cnt_2=cnt;
a=N-sum1;
do{//输出沙漏上面
for(i=0;i<2*cnt+1;i++){
printf("%c",C);
}
printf("\n");
cnt_1++;
if(cnt>0){
for(i=0;i<cnt_1;i++){
printf(" ");
}
}
}while(cnt--);
do{//输出沙漏下面
sum3=2*j+1;
j++;
for(i=0;i<cnt_1-2;i++){
printf(" ");
}
cnt_1--;
if(cnt_2>0){
for(i=0;i<sum3;i++){
printf("%c",C);
}
printf("\n");
}
}while(cnt_2--);
}
if(N>=1&&N<7){//只有一层输出
printf("%c\n",C);
a=N-1;
}
printf("%d",a);
return 0;
}