#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;
}