#include<bits/stdc++.h>
using namespace std;

const int nmax=5e2+42;

int n,inp[nmax],outp[nmax][nmax];

int main()
{
    scanf("%i",&n);
    for(int i=1;i<=n;i++)scanf("%i",&inp[i]);

    for(int i=1;i<=n;i++)
    {
        int was=inp[i];

        outp[i][i]=was;

        inp[i]--;

        int x=i,y=i;

        while(inp[i])
        {
            if(y>1&&outp[x][y-1]==0)
            {
                y--;
                outp[x][y]=was;
            }
            else
            {
                x++;
                outp[x][y]=was;
            }

            inp[i]--;
        }
    }

    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=i;j++)printf("%i ",outp[i][j]);
        printf("\n");
    }

    return 0;
}
