#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxsIGxvbmcgbG9uZwogIAp0eXBlZGVmIHRyZWU8aW50LCBudWxsX3R5cGUsIGxlc3NfZXF1YWw8aW50PiwgcmJfdHJlZV90YWcsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT4gb3JkZXJlZF9zZXQ7CgpsbCBzb2x2ZSh2ZWN0b3I8aW50PmEsIGludCBuKSB7CiAgICBpbnQga2V5OwogICAgb3JkZXJlZF9zZXQgc2V0MTsKICAgIHNldDEuaW5zZXJ0KGFbMF0pOwogICAgbGwgY250ID0gMDsKCiAgICBmb3IoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgc2V0MS5pbnNlcnQoYVtpXSk7CiAgICAgICAga2V5ID0gc2V0MS5vcmRlcl9vZl9rZXkoYVtpXSArIDEpOwogICAgICAgIGNudCArPSBzZXQxLnNpemUoKSAtIGtleTsKICAgIH0KICAgIHJldHVybiBjbnQ7Cn0KCmludCBtYWluKCkgewogICAgaW50IG47CiAgICBjaW4+Pm47CiAgICAKICAgIHZlY3RvcjxpbnQ+YShuKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4+PmFbaV07CiAgICB9CiAgICBjb3V0PDxzb2x2ZShhLCBuKTw8ZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==