const maxn=70000;
type mang=array[0..maxn+2] of longint;
var a:mang; n,i:longint; res:int64;
function cinv(len:longint;var a:mang):int64;
var i,j,k,nl,nr:longint;
x,y,z:int64;
l,r:mang;
begin
if (len<=1) then begin cinv:=0; exit; end;
nl:=len div 2; nr:=len-nl;
for i:=0 to nl-1 do l[i]:=a[i];
for i:=nl to len-1 do r[i-nl]:=a[i];
x:=cinv(nl,l); y:=cinv(nr,r);
j:=0; r[nr]:=maxlongint; l[nl]:=maxlongint;
z:=0;
for i:=0 to nl-1 do begin
while l[i]>r[j] do inc(j);
z:=z+j;
end;
i:=0;j:=0;
for k:=0 to len-1 do begin
if (l[i]<=r[j]) then begin
a[k]:=l[i]; inc(i);
end else begin
a[k]:=r[j]; inc(j);
end;
end;
cinv:=x+y+z;
end;
begin
assign(input,''); reset(input);
assign(output,''); rewrite(output);
//readln(n); for i:=0 to n-1 do read(a[i]);
n:=maxn; for i:=0 to n-1 do a[i]:=n-i;
res:=cinv(n,a);
write(res);
close(input); close(output);
end.
Y29uc3QgbWF4bj03MDAwMDsKdHlwZSBtYW5nPWFycmF5WzAuLm1heG4rMl0gb2YgbG9uZ2ludDsKdmFyIGE6bWFuZzsgbixpOmxvbmdpbnQ7ICAgICAgcmVzOmludDY0OwpmdW5jdGlvbiBjaW52KGxlbjpsb25naW50O3ZhciBhOm1hbmcpOmludDY0Owp2YXIgaSxqLGssbmwsbnI6bG9uZ2ludDsKICAgIHgseSx6OmludDY0OwogICAgbCxyOm1hbmc7CmJlZ2luCiAgICBpZiAobGVuPD0xKSB0aGVuIGJlZ2luIGNpbnY6PTA7ICAgICAgICAgIGV4aXQ7IGVuZDsKICAgIG5sOj1sZW4gZGl2IDI7ICAgICAgICBucjo9bGVuLW5sOwogICAgZm9yIGk6PTAgdG8gbmwtMSBkbyBsW2ldOj1hW2ldOwogICAgZm9yIGk6PW5sIHRvIGxlbi0xIGRvIHJbaS1ubF06PWFbaV07CiAgICB4Oj1jaW52KG5sLGwpOyAgICAgICAgICAgICB5Oj1jaW52KG5yLHIpOwogICAgajo9MDsgICAgICAgICAgICAgICAgICAgcltucl06PW1heGxvbmdpbnQ7ICAgICAgICBsW25sXTo9bWF4bG9uZ2ludDsKICAgIHo6PTA7CiAgICBmb3IgaTo9MCB0byBubC0xIGRvIGJlZ2luCiAgICAgICAgICB3aGlsZSBsW2ldPnJbal0gZG8gaW5jKGopOwogICAgICAgICAgejo9eitqOwogICAgZW5kOwogICAgIGk6PTA7ajo9MDsKICAgIGZvciBrOj0wIHRvIGxlbi0xIGRvIGJlZ2luCiAgICAgICAgICBpZiAobFtpXTw9cltqXSkgdGhlbiBiZWdpbgogICAgICAgICAgICAgICBhW2tdOj1sW2ldOyAgICAgaW5jKGkpOwogICAgICAgICAgZW5kIGVsc2UgYmVnaW4KICAgICAgICAgICAgICAgYVtrXTo9cltqXTsgICAgIGluYyhqKTsKICAgICAgICAgIGVuZDsKICAgIGVuZDsKICAgIGNpbnY6PXgreSt6OwplbmQ7CmJlZ2luCiAgICBhc3NpZ24oaW5wdXQsJycpOyAgICAgICAgICByZXNldChpbnB1dCk7CiAgICBhc3NpZ24ob3V0cHV0LCcnKTsgICAgICAgIHJld3JpdGUob3V0cHV0KTsKICAgIC8vcmVhZGxuKG4pOyAgICAgIGZvciBpOj0wIHRvIG4tMSBkbyAgIHJlYWQoYVtpXSk7CiAgICBuOj1tYXhuOyAgICAgICAgICBmb3IgaTo9MCB0byBuLTEgZG8gICBhW2ldOj1uLWk7CiAgICByZXM6PWNpbnYobixhKTsKICAgIHdyaXRlKHJlcyk7CiAgICBjbG9zZShpbnB1dCk7ICAgICAgICAgICAgICAgICAgY2xvc2Uob3V0cHV0KTsKZW5kLg==