#include <stdio.h>
#define MAX 500000
#define N 1000000000

int L[MAX/2+2],R[MAX/2+2];
int c;

long long merge(int A[],int n,int l,int m,int r);
long long mergeSort(int A[],int n,int l,int r);

int main()
{
	int A[MAX],n,i;
	
	scanf("%d",&n);
	
	for(i=0;i<n;i++)
	{
		scanf("%d",&A[i]);
	}
	
	long long a=mergeSort(A,n,0,n);
	printf("%ld\n",a);
	return 0;
}

long long merge(int A[],int n,int l,int m,int r)
{
	int i,j,k;
	int n1=m-l;
	int n2=r-m;
	long long c=0;
	
	for(i=0;i<n1;i++)
	{
		L[i] = A[l+i];
	}
	
	for(i=0;i<n2;i++)
	{
		R[i] = A[m+i];
	}
	
	L[n1]=R[n2]=N;
	
	for(i=0,j=0,k=l;k<r;k++)
	{
		if(L[i]<=R[j])
		{
			A[k]=L[i++];
		}
		else
		{
			A[k]=R[j++];
			c=c+n1-i;
		}
	}
	return c;
}

long long mergeSort(int A[],int n,int l,int r)
{
	int m;
	long long a1,a2,a3;
	
	if(l+1<r)
	{
		m=(l+r)/2;
		a1=mergeSort(A,n,l,m);
		a2=mergeSort(A,n,m,r);
		a3=merge(A,n,l,m,r);
		return a1+a2+a3;
	}
	else return 0;
}
