var
b,c,n:longint;
ans:int64;
a,z:array[0..30000]of longint;
procedure sousuo(w,s:longint);
var
b:longint;
begin
if s=1 then ans:=ans+z[w]
else
for b:=w+1 to n-s+1 do
if a[b]>a[w] then sousuo(b,s-1);
end;
begin
assign(input,'three.in');
reset(input);
assign(output,'three.out');
rewrite(output);
read(n);
for b:=1 to n do
begin
read(a[b]);
for c:=1 to b-1 do
if a[b]>a[c] then inc(z[c]);
end;
a[0]:=-1;
sousuo(0,3);
writeln(ans);
close(input);close(output);
end.