#include<stdio.h>
int main()
{
    int n;
    while(~scanf("%d",&n))
    {//将菱形分成两部分 上部是n+1行打印 下部是n行打印
        for(int j=1;j<=n+1;j++)
        {
            for(int i=0;i<=n-j;i++)//for(int i=0;i<=n-j-1;i++)上部分空格都少一个。
                printf(" ");/*………………
                               □□□
                               □□
                               □*///可以看出,这是前面几种的题型相结合的。
            for(int i=1;i<=j;i++)
                printf("* ");
            printf("\n");
        }
       
        for(int j=0;j<n;j++)//分别对比上、下部分的打印‘ ’与‘* ’的for语句、交叉比对、会发现很像,
                            /*仔细思考会发现  *    与*       抛开前者被提前处理的□□□不看,会发现打印*实际是一样的,
                                            * *     **    前者以‘* ’为一个单位,而后者以‘*’为一个单位
                                           * * *    ***                                    */
            
        {
            for(int i=0;i<=j;i++)
                printf(" ");/*□
                              □□
                              □□□
                              ………………*/
            for(int i=j;i<n;i++)
                printf("* ");
            printf("\n");
        }
        
     }
    return 0;
}