#include<iostream>
using namespace std;
const int maxn = 1000;
int a[maxn],t[maxn];
int cnt=0;
void marge_sort(int a[],int x,int y,int t[]) //参数时0~n的不是0~n-1
{
if(y-x>1)
{ int m = x + (y-x)/2; //求中值,曾错过,是y-x不是x+y
int q =x,p=m,i = x; //
marge_sort(a,x,m,t);//递归求解
marge_sort(a,m,y,t);
while(q<m || p<y) //将两个数组,存到按序t数组中
{ //cout<<"++";
if(p >=y || (q < m && a[q]<=a[p])) t[i++]=a[q++];
else
{ // cout<<cnt;
t[i++] = a[p++];
cnt += m -q;
}
}
for(int i = x;i < y;i++)
a[i] = t[i];
}
}
int main()
{
int n;
cin>>n;
for(int i = 0;i < n;i ++ ) cin>>a[i];
marge_sort(a,0,n,t);
// for(int i = 0 ;i < n ;i++)
// cout<<a[i]<<" ";
// cout<<endl;
cout<<cnt<<endl;
return 0;
}