#include <stdio.h>
int main() {
int n = 0;
scanf("%d", &n);
int arr[400][800] = { {0,0,1,0,0}, {0,1,0,1,0},{1,0,1,0,1} };
int i, j = 0, k, row = 3, col = 5;
for (i = 2; i <= n; i++)
{
for (j = row; j < row * 2; j++)
{
for (k = 0; k < col; k++)
{
arr[j][k] = arr[j - row][k];//复制为左下角的三角形
arr[j][k + col + 1] = arr[j][k];//再把左下角复制到右下角
}
}
//因为最开始的三角形是靠近最左的,清空后再重新放置到左下和右下的中间
//先清空
for (j = 0; j < row; j++)
{
for (k = 0; k < col; k++) {
arr[j][k] = 0;
}
}
//放到中央
for (j = 0; j < row; j++)
{
for (k = (col + 1) / 2; k < col + (col + 1) / 2; k++)
{
arr[j][k] = arr[j + row][k - (col + 1) / 2];
}
}
//根据规律和递归思想
row *= 2;
col = col * 2 + 1;
}
//打印圣诞树
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (arr[i][j] == 0)
{
printf(" ");
}
else
{
printf("*");
}
}
printf("\n");
}
//打印树根
for (i = 1; i <= n; i++)
{
for (j = 1; j < row; j++)
{
printf(" ");//打印空格
}
printf("*\n");
}
return 0;
}