#include <iostream>
#include <vector>
using namespace std;

int Merge(int a[], int low, int mid, int high)
{
  vector<int> temp;
  int i = low, j = mid+1;
  int inversion = 0;
  
  while(i <= mid && j <= high)
  {
    if(a[i] <= a[j])
    {
      temp.push_back(a[i]);
      ++i;
    }
    else
    {
      temp.push_back(a[j]);
      ++j;
      inversion += (mid - i + 1);
    }
  }
  
  while(i <= mid)
  {
    temp.push_back(a[i]);
    ++i;
  }
  
  while(j <= high)
  {
    temp.push_back(a[j]);
    ++j;
  }
  
  for(int i = low; i <= high; ++i)
    a[i] = temp[i-low];
    
  return inversion;
}

int MergeSort(int a[], int low, int high)
{
  if(low == high)
    return 0;
  
  int mid = (low+high) / 2;
  int inversionCount = 0;
  
  inversionCount += MergeSort(a, low, mid);
  inversionCount += MergeSort(a, mid+1, high);
  
  inversionCount += Merge(a, low, mid, high);
  
  return inversionCount;
}

int main() 
{
  int n;
  cin >> n;
    
  int a[n];
  for(int i = 0; i < n; ++i)
    cin >> a[i];
    
  cout << MergeSort(a, 0, n-1);
    
  return 0;
}