#include<iostream>
#include<cmath>
using namespace std;
class graph
{
int n,k;
char c;
public:
graph()//构造函数初始化k的值
{k=0;}
void getg()
{cin>>n>>c;}
void Display();
};
void graph::Display()
{
int i,j;
while(1)
{
if((2*pow(k+1,2)-1)>n)
break;
else k++;
}
for(i=k-1;i>0;i--)
{
for(j=1;j<=(k-1-i);j++)
cout<<" ";
for(j=1;j<=(2*i+1);j++)
cout<<c;
cout<<endl;
}
for(i=0;i<=k-1;i++)
{
for(j=1;j<=(k-1-i);j++)
cout<<" ";
for(j=1;j<=(2*i+1);j++)
cout<<c;
cout<<endl;
}
cout<<(n-2*pow(k,2)+1)<<endl;
}
int main()
{
graph g;
g.getg();
g.Display();
return 0;
}
#include<cmath>
using namespace std;
class graph
{
int n,k;
char c;
public:
graph()//构造函数初始化k的值
{k=0;}
void getg()
{cin>>n>>c;}
void Display();
};
void graph::Display()
{
int i,j;
while(1)
{
if((2*pow(k+1,2)-1)>n)
break;
else k++;
}
for(i=k-1;i>0;i--)
{
for(j=1;j<=(k-1-i);j++)
cout<<" ";
for(j=1;j<=(2*i+1);j++)
cout<<c;
cout<<endl;
}
for(i=0;i<=k-1;i++)
{
for(j=1;j<=(k-1-i);j++)
cout<<" ";
for(j=1;j<=(2*i+1);j++)
cout<<c;
cout<<endl;
}
cout<<(n-2*pow(k,2)+1)<<endl;
}
int main()
{
graph g;
g.getg();
g.Display();
return 0;
}