#include<stdio.h>

int main() {
    /*解析:
    可把每个圣诞树看成是由多个
    *
   * *
  * * *
  的圣诞树 ,观察这个三角形多个合成时,发现第一行由一个*和五个空格组成
  第二行由* *与三个空格组合隔开为圣诞树的左半树
  第三行由* * * 组成,每颗*之间一个空格,循环控制打印圣诞树
  最后的树柄数量等于a,树柄的前面空格规律是3*a-1用内循环控制,外循环控制打印*作为树柄
  */
    int a, i, j;
    scanf("%d", &a);
    int d = 3 * a;     //d为开始的前面的空格数
    for (i = 0 ; i < a; i++) {
        for (j = d - 1; j > 0; j--)
            printf(" ");
        for (j = 0; j < i + 1; j++)
            printf("*     ");//5个空格
        printf("\n");            //打印第一行
        for (j = d - 2; j > 0; j--)
            printf(" ");
        for (j = 0; j < i + 1; j++)
            printf("* *   "); //* *和三个空格组成控制
        printf("\n");            //打印第二行
        for (j = d - 3; j > 0; j--)
            printf(" ");
        for (j = 0; j < i + 1; j++)
            printf("* * * ");
        printf("\n");            //打印第三行
        d -= 3;
    }
    for (i = 0; i < a; i++) {
        for (j = 0; j < 3 * a - 1; j++)
            printf(" ");
        printf("*\n");
    }
    return 0;
}