#include<stdio.h>
#define MAX 200000
typedef long long l;

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

l merge(int A[], int n, int left, int mid, int right){
	int i,j,k;
	l count=0;
	
	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]=2000000000;
	R[n2]=2000000000;
	
	i=0;
	j=0;
	
	for(k=left; k<right; k++){
		if(L[i]<=R[j]){
			A[k]=L[i++];
		}
		else{
			A[k]=R[j++];
			count+=n1-i;
		}
	}
	return count;
}

l mergesort(int A[], int n, int left, int right){
	int mid;
	l v1,v2,v3;
	if(left+1<right){
		mid=(left+right)/2;
		v1 = mergesort(A, n, left, mid);
		v2 = mergesort(A, n, mid, right);
		v3 = merge(A, n, left, mid, right);
		return v1+v2+v3;
	}
	else{
		return 0;
	}
}

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


