{
TEAM01
B
}
{$A+,B-,D+,E+,F-,G+,I+,L+,N+,O-,P-,Q-,R+,S+,T-,V+,X+}
{$M 16384,0,655360}

{ Решение задачи об инверсиях}
{ Проверка корректности не производится!}

{ Личное первенство УрГУ-2000 }
{ Васильев С.Н.}

const max=2000;
var a,b,c:array[1..max] of integer;
N,i,j,k,l:integer;
fin, fout:text;

begin
assign(fin,'input.txt');
reset(fin);
N:=0;
while not(eof(fin)) do
 begin
  inc(N);
  read(fin,a[N]);
  if eoln(fin) then readln(fin);
 end;
close(fin);

for i := 1 to N do b[i]:=N-i; {Сколько есть чисел меньше данного}

for i:=N downto 1 do {ищем начиная с конца}
 begin
  j:=N;
  while b[j]<a[i] do dec(j); {находим нужное число}
  c[i]:=j;
  for k:=1 to j do dec(b[k]) {Обновляем сколько осталось чисел меньше данного}
 end;

assign(fout,'output.txt');
rewrite(fout);
for i:=1 to N-1 do write(fout,c[i],' '); writeln(fout,c[N]);
close(fout);
end.