#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <assert.h>

using namespace std;
int have[505][505]={0};
int all[505][505];
int main()
{

    int N,M,i,j,k,t,where,who,con,x,y,t1,t2;
    scanf("%d",&N);
    for(i=0;i<N;i++) scanf("%d",&all[i][i]);
    for(i=0;i<N;i++)
    {
        who=all[i][i];
        x=i;
        y=i;
        t1=1;
        t2=0;
        have[i][i]=all[i][i];
        for(j=1;j<all[i][i];j++)
        {

            if(y==0||have[x][y-1]) x++;
            else y--;
            have[x][y]=all[i][i];
        }

    }
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++) printf("%d ",have[i][j]);
        printf("\n");
    }

    return 0;
}
