#include<stdio.h>
#define MAX 200000
#define SNT 2000000000
typedef long long int llong;

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

llong merge(int*,int,int,int,int);
llong mergeSort(int*, int,int,int);

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

llong merge(int A[], int n, int left,int mid, int right){
  int i,j,k,n1,n2;
  llong count = 0;
  n1 = mid - left;
  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] = SNT;
  R[n2] = SNT;
  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;
}


llong mergeSort(int A[],int n,int left,int right){
  int mid;
  llong r1,r2,r3;
  if(left + 1 <right){
    mid = (left +right)/2;
    r1 = mergeSort(A,n,left,mid);
    r2 = mergeSort(A,n,mid,right);
    r3 = merge(A,n,left,mid,right);
    return r1+r2+r3;
  }
  else return 0;
}

