#include <iostream>
#include <set>
#include <map>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
# define ll long long
const int N=505;
int b[N];
int vis[N];
int ans[N][N];
int n;
void solve()
{
    for(int i=1;i<=n;++i)
    {
        int xi=i,yi=i;
        ans[i][i]=b[i];
        for(int j=1;j<b[i];++j)
        {
            if(xi>0 && yi>1 &&ans[xi][yi-1]==0)
            {
                yi--;
            }
            else
            {
                xi++;
            }
            ans[xi][yi]=b[i];
        }
    }
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=i;++j)
        {
            printf("%d ",ans[i][j]);
        }
        printf("\n");
    }
}
int main()
{
    int flag=0;
    for(int i=1;i<N;++i)
    {
        flag++;
    }
    scanf("%d",&n);
    for(int i=1;i<=n;++i)
    {
        scanf("%d",&b[i]);
    }
    solve();

    return 0;

}
/*
1
3 3
2 3 4
1 2 4
1 3 5*/
