int a[100001],ans,r[100001];
void gb(int s,int t){
if(s==t)return;
int m,i,j,k;
m=(s+t)/2;
gb(s,m);gb(m+1,t);
i=s;j=m+1;k=s;
while(i<=m && j<=t){
if(a[i]<=a[j]){
r[k]=a[i];k++;i++;
}
else{
r[k]=a[j];k++;j++;ans+=m-i+1;
}
}
for(int u=i;u<=m;u++)r[k++]=a[u];
for(int u=j;u<=t;u++)r[k++]=a[u];
for(i=s;i<=t;i++)
a[i]=r[i];
}
int main(){
int i,j,k,n,m;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&a[i]);
gb(1,n);
printf("%d\n",ans);
return 0;
}#include<stdio.h>
int a[100001],ans,r[100001];
void gb(int s,int t){
if(s==t)return;
int m,i,j,k;
m=(s+t)/2;
gb(s,m);gb(m+1,t);
i=s;j=m+1;k=s;
while(i<=m && j<=t){
if(a[i]<=a[j]){
r[k]=a[i];k++;i++;
}
else{
r[k]=a[j];k++;j++;ans+=m-i+1;
}
}
for(int u=i;u<=m;u++)r[k++]=a[u];
for(int u=j;u<=t;u++)r[k++]=a[u];
for(i=s;i<=t;i++)
a[i]=r[i];
}
int main(){
int i,j,k,n,m;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&a[i]);
gb(1,n);
printf("%d\n",ans);
return 0;
}
//逆序对