#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<stack>
#include<set>
using namespace std;
typedef long long ll;
#define maxn 500005
int a[maxn], t[maxn], n;
ll ans;
void mergeSort(int l, int r) {
if(l == r) return;
int mid = (l+r) / 2;
mergeSort(l, mid);
mergeSort(mid+1, r);
int p = l, q = mid+1, i = l;
while(p <= mid && q <= r) {
if(a[p] < a[q]) t[i++] = a[p++];
else {
ans += mid-p+1;
t[i++] = a[q++];
}
}
while(p <= mid) t[i++] = a[p++];
while(q <= r) t[i++] = a[q++];
for(int i = l; i <= r; i++) a[i] = t[i];
}
void inp(void) {
scanf("%d", &n);
for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
}
int main() {
inp();
mergeSort(1, n);
cout << ans;
return 0;
}