#include <iostream>
#include <cstdio>
using namespace std;
const int N=1e5+10;
int a[N], tmp[N];
long merge(int l, int mid, int r)
{
long ans=0;
for (int i=l, j=mid+1, sum=0; j<=r; j++)
{
while (i<=mid&&a[i]<=a[j]) sum+=a[i++];
// 此处的sum不能更新为0,因为j到达一个新的位置必然i前面的数要加到sum里,如果sum更新那么i之前的数就相当于没加到sum中
ans+=sum;
}
int i=l, j=mid+1, k=0;
while (i<=mid&&j<=r)
if (a[i]<=a[j]) tmp[k++]=a[i++];
else tmp[k++]=a[j++];
while (i<=mid) tmp[k++]=a[i++];
while (j<=r) tmp[k++]=a[j++];
for (int i=l, j=0; i<=r; i++, j++) a[i]=tmp[j];
return ans;
}
long fun(int l, int r)
{
if (l==r) return 0;
int mid=(l+r)/2;
return fun(l, mid)+fun(mid+1, r)+merge(l, mid, r);
}
int main()
{
int n;
scanf("%d", &n);
for (int i=0; i<n; i++) scanf("%d", &a[i]);
long ans=fun(0, n-1);
cout << ans << endl;
return 0;
}