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

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

const max=1000; { Количество чисел исходной последовательности}
var a,b:array[1..max] of integer;
i,j,k,l:integer;
fin, fout:text;
procedure swap(var a:integer;var b:integer);
var c:integer;
begin
 c:=b; b:=a; a:=c;
end;

begin
 for i := 1 to max do a[i]:=i;

 randomize;
 for i:=1 to max*3 do { Перемешиваем последовательность}
  begin
{   j:=random(max)+1;
   k:=random(max)+1;
   swap(a[j],a[k]); {}
  end;

for i:=1 to max do b[i]:=0;
for i:=1 to max do
 for j:=1 to i-1 do if (a[j]>a[i]) then inc(b[i]);
{ генерируем инверсионную последовательность}

{ writeln;
 for i:=1 to max do write(i,' ');
 writeln;
 for i:=1 to max do write(a[i],' ');
 writeln;
 for i:=1 to max do write(b[i],' ');}
assign(fin,'input7.txt');
assign(fout,'output7.txt');
rewrite(fin);
for i:=1 to max-1 do write(fin,b[i],' '); write(fin,b[max]);
close(fin);
rewrite(fout);
for i:=1 to max-1 do write(fout,a[i],' '); write(fout,a[max]);
close(fout);
end.