#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define ll long long
  
typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;

ll solve(vector<int>a, int n) {
    int key;
    ordered_set set1;
    set1.insert(a[0]);
    ll cnt = 0;

    for(int i = 1; i < n; i++) {
        set1.insert(a[i]);
        key = set1.order_of_key(a[i] + 1);
        cnt += set1.size() - key;
    }
    return cnt;
}

int main() {
    int n;
    cin>>n;
    
    vector<int>a(n);
    for(int i = 0; i < n; i++) {
        cin>>a[i];
    }
    cout<<solve(a, n)<<endl;

    return 0;
}