uses math;
const fi='';
fo='';
maxn = 60000+3;
var t :array[1..maxn*4] of longint;
i,j,n :longint;
a :ARRAY[1..maxn] of longint;
ma :longint;
res :int64;
procedure enter;
begin
assign(input,fi);reset(input);
readln(n);for i:=1 to n do read(a[i]);
close(input);
end;
procedure update(k,l,r,i:longint);
var m :longint;
begin
if (i<l) or (i>r) then exit;
if l=r then
begin
inc(t[k]);
exit;
end;
m := (l+r) div 2;
update(k*2,l,m,i);
update(k*2+1,m+1,r,i);
t[k] := t[k*2] + t[k*2+1];
end;
function get(k,l,r,i,j:longint):longint;
var m,tam1,tam2 :longint;
begin
if i>j then exit(0);
if (i>r) or (j<l) then exit(0);
if (i<=l) and (j>=r) then
begin
exit(t[k]);
end;
m := (l+r) div 2;
tam1 := get(k*2,l,m,i,j);
tam2 := get(k*2+1,m+1,r,i,j);
get:= tam1+tam2;
end;
procedure process;
var i :longint;
begin
for i:=1 to n do ma := max(ma,a[i]);
res := 0;
for i:=1 to n do
begin
res := res + get(1,1,ma,a[i]+1,ma);
update(1,1,ma,a[i]);
end;
end;
procedure print;
begin
assign(output,fo);rewrite(output);
writeln(res);
close(output);
end;
begin
enter;
process;
print;
end.
dXNlcyAgICBtYXRoOwpjb25zdCAgIGZpPScnOwogICAgICAgIGZvPScnOwogICAgICAgIG1heG4gPSA2MDAwMCszOwp2YXIgICAgIHQgICAgICAgOmFycmF5WzEuLm1heG4qNF0gb2YgbG9uZ2ludDsKICAgICAgICBpLGosbiAgIDpsb25naW50OwogICAgICAgIGEgICAgICAgOkFSUkFZWzEuLm1heG5dIG9mIGxvbmdpbnQ7CiAgICAgICAgbWEgICAgICA6bG9uZ2ludDsKICAgICAgICByZXMgICAgIDppbnQ2NDsKcHJvY2VkdXJlIGVudGVyOwpiZWdpbgogICAgICAgIGFzc2lnbihpbnB1dCxmaSk7cmVzZXQoaW5wdXQpOwogICAgICAgIHJlYWRsbihuKTtmb3IgaTo9MSB0byBuIGRvIHJlYWQoYVtpXSk7CiAgICAgICAgY2xvc2UoaW5wdXQpOwplbmQ7CnByb2NlZHVyZSB1cGRhdGUoayxsLHIsaTpsb25naW50KTsKdmFyICAgICBtIDpsb25naW50OwpiZWdpbgogICAgICAgIGlmIChpPGwpIG9yIChpPnIpIHRoZW4gZXhpdDsKICAgICAgICBpZiBsPXIgdGhlbgogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgaW5jKHRba10pOwogICAgICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgIG0gOj0gKGwrcikgZGl2IDI7CiAgICAgICAgdXBkYXRlKGsqMixsLG0saSk7CiAgICAgICAgdXBkYXRlKGsqMisxLG0rMSxyLGkpOwogICAgICAgIHRba10gOj0gdFtrKjJdICsgdFtrKjIrMV07CmVuZDsKZnVuY3Rpb24gZ2V0KGssbCxyLGksajpsb25naW50KTpsb25naW50Owp2YXIgICAgIG0sdGFtMSx0YW0yICAgICA6bG9uZ2ludDsKYmVnaW4KICAgICAgICBpZiBpPmogdGhlbiBleGl0KDApOwogICAgICAgIGlmIChpPnIpIG9yIChqPGwpIHRoZW4gZXhpdCgwKTsKICAgICAgICBpZiAoaTw9bCkgYW5kIChqPj1yKSB0aGVuCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICBleGl0KHRba10pOwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgIG0gOj0gKGwrcikgZGl2IDI7CiAgICAgICAgdGFtMSA6PSBnZXQoayoyLGwsbSxpLGopOwogICAgICAgIHRhbTIgOj0gZ2V0KGsqMisxLG0rMSxyLGksaik7CiAgICAgICAgZ2V0Oj0gdGFtMSt0YW0yOwplbmQ7CnByb2NlZHVyZSBwcm9jZXNzOwp2YXIgICAgIGkgOmxvbmdpbnQ7CmJlZ2luCiAgICAgICAgZm9yIGk6PTEgdG8gbiBkbyBtYSA6PSBtYXgobWEsYVtpXSk7CiAgICAgICAgcmVzIDo9IDA7CiAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgcmVzIDo9IHJlcyArIGdldCgxLDEsbWEsYVtpXSsxLG1hKTsKICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlKDEsMSxtYSxhW2ldKTsKICAgICAgICAgICAgICAgIGVuZDsKZW5kOwpwcm9jZWR1cmUgcHJpbnQ7CmJlZ2luCiAgICAgICAgYXNzaWduKG91dHB1dCxmbyk7cmV3cml0ZShvdXRwdXQpOwogICAgICAgIHdyaXRlbG4ocmVzKTsKICAgICAgICBjbG9zZShvdXRwdXQpOwplbmQ7CmJlZ2luCiAgICAgICAgZW50ZXI7CiAgICAgICAgcHJvY2VzczsKICAgICAgICBwcmludDsKZW5kLg==