//外循环打印层数(叶子的) 4*h-h 内层循环打印空格(规律一样每行只需一次) 再打印叶子(叶子需要判断打印几次) 
//打印叶子,有三种不同的规律,每行不一样,后面就一样了,应该是3个if 3个for 可以完成 
#include<stdio.h>
int main ()
{
    int h,i,j;
    scanf("%d",&h);
    for(i=0;i<4*h-h;i++)
    {
        for(j=0;j<3*h-1-i;j++)//每行一次只打空格,打印的空格依次减
        {
            printf(" ");
        }
        for(j=0;j<=i;j+=3)//进入一次打印一层叶子,1-3行共进3次完成打印
        {                 //4-6行进去6次完成打印
           if(i%3==0)//0%0==0  代表叶子第一层的规律
           {
               printf("*     ");
           }
           if(i%3==1)//第二层
           {
               printf("* *   ");
           }
            if(i%3==2)//第三层
            {
                printf("* * * ");
            }
        }
        printf("\n");
    }
    for(i=0;i<h;i++)//打印个枝干高度就简单了
    {
        for(j=0;j<3*h-1;j++)
        {
            printf(" ");
        }
        printf("*\n");
    }
    return 0;
}