#include <iostream>
#include <cstdio>
#define sup 3000000
using namespace std;
long long int V[30001],Arb[3000000],k,Fin[sup],n,i;
void con(int p,int s,int d)
{
if (s==d)
{
Arb[p]=1;
return;
}
int mij=(s+d)/2;
con(p*2,s,mij);
con(p*2+1,mij+1,d);
Arb[p]=d-s+1;
}
void update(int p,int s,int d, int vpoz,int val)
{
if (s==d)
{
Arb[p]=0;
Fin[s]=val;
return;
}
int mij=(s+d)/2;
if (vpoz<=Arb[2*p]) update(2*p,s,mij,vpoz,val);
else update(2*p+1,mij+1,d,vpoz-Arb[2*p],val);
Arb[p]--;
}
int main()
{
freopen("schi.in","r",stdin);
freopen("schi.out","w",stdout);
scanf("%lli",&n);
for (i=1;i<=n;i++)
{
scanf("%lli",&V[i]);
}
con(1,1,n);
for (i=n;i>=1;i--) update(1,1,n,V[i],i);
for (i=1;i<=n;i++) cout<<Fin[i]<<'\n';
}