#include <bits/stdc++.h>
using namespace std;
#define int long long
vector<int> vec;
int n;
int recur(int l, int r) {
int ans = 0;
if (l + 1 >= r) {
return ans;
}
int mid = (l + r) / 2;
ans += recur(l, mid);
ans += recur(mid, r);
// Debugging output
// cout << l << " " << r << endl;
// Count inversions
for(int i = l; i < r; i++){
cout << vec[i] << " ";
}cout << endl;
int i = l, j = mid;
int k = 0;
int ans1 = 0;
while (j < r) {
if(i + 1 == mid || vec[j] > vec[i]){
// while(vec[k] < vec[j]){
// ans1 -= vec[k];
// k++;
// }
ans += vec[j] * (i - k) + ans1;
// cout << ans << " " << k << endl;
// cout << ans << " " << vec[j] << " " << ans1 << endl;
j++;
continue;
}
if (vec[i] > vec[j]) {
i++;
ans1 += vec[i];
// cout << vec[i] << " ";
}
}
cout << endl;
inplace_merge(vec.begin() + l, vec.begin() + mid, vec.begin() + r);
return ans;
}
signed main() {
cin >> n;
vec.resize(n);
for (int i = 0; i < n; i++) {
cin >> vec[i];
}
cout << recur(0, n) << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZyAKdmVjdG9yPGludD4gdmVjOwppbnQgbjsKCmludCByZWN1cihpbnQgbCwgaW50IHIpIHsKICAgIGludCBhbnMgPSAwOwogICAgaWYgKGwgKyAxID49IHIpIHsKICAgICAgICByZXR1cm4gYW5zOwogICAgfQogICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgYW5zICs9IHJlY3VyKGwsIG1pZCk7CiAgICBhbnMgKz0gcmVjdXIobWlkLCByKTsKICAgIAogICAgLy8gRGVidWdnaW5nIG91dHB1dAogICAgLy8gY291dCA8PCBsIDw8ICIgIiA8PCByIDw8IGVuZGw7CiAgICAKICAgIC8vIENvdW50IGludmVyc2lvbnMKICAgIGZvcihpbnQgaSA9IGw7IGkgPCByOyBpKyspewogICAgCWNvdXQgPDwgdmVjW2ldIDw8ICIgIjsKICAgIH1jb3V0IDw8IGVuZGw7IAogICAgaW50IGkgPSBsLCBqID0gbWlkOwogICAgaW50IGsgPSAwOwogICAgaW50IGFuczEgPSAwOyAKICAgIHdoaWxlIChqIDwgcikgewogICAgICAgIGlmKGkgKyAxID09IG1pZCB8fCB2ZWNbal0gPiB2ZWNbaV0pewogICAgICAgICAgICAvLyB3aGlsZSh2ZWNba10gPCB2ZWNbal0pewogICAgICAgICAgICAvLyAgICAgYW5zMSAtPSB2ZWNba107CiAgICAgICAgICAgIC8vICAgICBrKys7CiAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgYW5zICs9IHZlY1tqXSAqIChpIC0gaykgKyBhbnMxOwogICAgICAgICAgICAvLyBjb3V0IDw8IGFucyA8PCAiICIgPDwgayA8PCBlbmRsOyAKICAgICAgICAgICAgLy8gY291dCA8PCBhbnMgPDwgIiAiIDw8IHZlY1tqXSA8PCAiICIgPDwgYW5zMSA8PCBlbmRsOyAKICAgICAgICAgICAgaisrOwogICAgICAgIAljb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKHZlY1tpXSA+IHZlY1tqXSkgewogICAgICAgICAgICBpKys7CiAgICAgICAgICAgIGFuczEgKz0gdmVjW2ldOwogICAgICAgICAgICAvLyBjb3V0IDw8IHZlY1tpXSA8PCAiICI7CiAgICAgICAgICAgIAogICAgICAgIH0gCiAgICB9CiAgICBjb3V0IDw8IGVuZGw7IAogICAgCgogICAgaW5wbGFjZV9tZXJnZSh2ZWMuYmVnaW4oKSArIGwsIHZlYy5iZWdpbigpICsgbWlkLCB2ZWMuYmVnaW4oKSArIHIpOwogICAgcmV0dXJuIGFuczsKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBjaW4gPj4gbjsKICAgIHZlYy5yZXNpemUobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiB2ZWNbaV07CiAgICB9CiAgICBjb3V0IDw8IHJlY3VyKDAsIG4pIDw8IGVuZGw7Cn0=