#include <bits/stdc++.h>
#define endl '\n'
#define ll long long
#define sz(a) a.size()
using namespace std;
ll ans = 0;
vector <int> merge(vector <int> a, vector <int> b)
{
int sz_a = sz(a), sz_b = sz(b), i = 0, j = 0;
vector <int> v;
while(i < sz_a && j < sz_b)
{
if(a[i] <= b[j])
{
v.push_back(a[i]);
++i;
}
else
{
v.push_back(b[j]);
++j;
ans += sz_a - i;
}
}
while(i < sz_a) v.push_back(a[i]), ++i;
while(j < sz_b) v.push_back(b[j]), ++j;
return v;
}
vector <int> merge_sort(vector <int> v)
{
int n = sz(v);
if(n == 1)
return v;
vector <int> a(v.begin(), v.begin() + n / 2);
vector <int> b(v.begin() + n / 2, v.end());
a = merge_sort(a);
b = merge_sort(b);
return merge(a, b);
}
int main()
{
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int n; cin >> n;
vector <int> v(n);
for(int i = 0; i < n; ++i) cin >> v[i];
v = merge_sort(v);
cout << ans << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgc3ooYSkgYS5zaXplKCkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxsIGFucyA9IDA7Cgp2ZWN0b3IgPGludD4gbWVyZ2UodmVjdG9yIDxpbnQ+IGEsIHZlY3RvciA8aW50PiBiKQp7CiAgICBpbnQgc3pfYSA9IHN6KGEpLCBzel9iID0gc3ooYiksIGkgPSAwLCBqID0gMDsKICAgIHZlY3RvciA8aW50PiB2OwogICAgd2hpbGUoaSA8IHN6X2EgJiYgaiA8IHN6X2IpCiAgICB7CiAgICAgICAgaWYoYVtpXSA8PSBiW2pdKQogICAgICAgIHsKICAgICAgICAgICAgdi5wdXNoX2JhY2soYVtpXSk7CiAgICAgICAgICAgICsraTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdi5wdXNoX2JhY2soYltqXSk7CiAgICAgICAgICAgICsrajsKICAgICAgICAgICAgYW5zICs9IHN6X2EgLSBpOwogICAgICAgIH0KICAgIH0KCiAgICB3aGlsZShpIDwgc3pfYSkgdi5wdXNoX2JhY2soYVtpXSksICsraTsKICAgIHdoaWxlKGogPCBzel9iKSB2LnB1c2hfYmFjayhiW2pdKSwgKytqOwoKICAgIHJldHVybiB2Owp9Cgp2ZWN0b3IgPGludD4gbWVyZ2Vfc29ydCh2ZWN0b3IgPGludD4gdikKewogICAgaW50IG4gPSBzeih2KTsKICAgIGlmKG4gPT0gMSkKICAgICAgICByZXR1cm4gdjsKCiAgICB2ZWN0b3IgPGludD4gYSh2LmJlZ2luKCksIHYuYmVnaW4oKSArIG4gLyAyKTsKICAgIHZlY3RvciA8aW50PiBiKHYuYmVnaW4oKSArIG4gLyAyLCB2LmVuZCgpKTsKCiAgICBhID0gbWVyZ2Vfc29ydChhKTsKICAgIGIgPSBtZXJnZV9zb3J0KGIpOwoKICAgIHJldHVybiBtZXJnZShhLCBiKTsKfQoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApLCBjaW4udGllKDApLCBjb3V0LnRpZSgwKTsKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIHZlY3RvciA8aW50PiB2KG4pOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IHZbaV07CgogICAgdiA9IG1lcmdlX3NvcnQodik7CiAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwp9