#include<stdio.h>

#define MAX 200000
#define INFTY 1000000000

int L[MAX/2+2], R[MAX/2+2];
long long cnt=0;

void merge(int A[], int left, int mid, int right)
{
	int i, j, k;
	

	int n1 = mid-left;
	int n2 = right-mid;
	
	for(i=0; i<n1; i++)
	{
		L[i] = A[left+i];
	
	}
	
	for(i=0; i<n2; i++)
	{
		R[i] = A[mid+i];
	
	}
	
	L[n1] = INFTY;
	R[n2] = INFTY;
	
	i=0;
	j=0;
	
	for(k=left; k<right; k++)
	{
		if( L[i] <= R[j])
		{
			A[k] = L[i];
			i++;
		}
		else
		{
			A[k] = R[j];
			j++;
			cnt = cnt+n1-i;
		}
	}


}

void mergesort(int A[], int left, int right)
{
	int mid;
	
	if(left+1<right)
	{
	
		mid = (left+right)/2;
		mergesort(A, left, mid);
		mergesort(A, mid, right);
		merge(A, left, mid, right);
		
		
	}
	
	
}

int main(void)
{
	int n;
	
	scanf("%d", &n);
	
	int A[MAX];
	
	for(int i=0; i<n; i++)
	{
		scanf("%d", &A[i]);
	}
	
	mergesort(A, 0, n);
	
	printf("%lld\n",cnt);
	
	
	return 0;
}
