#include <bits/stdc++.h>
#define ll long long
#define el '\n'
#define TASK "test"
#define fi first
#define se second
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define sz(s) (int)(s).size()
#define FOR(i, a, b, s) for (auto i = (a), _b = (b); i <= _b; i += (s))
#define FORD(i, a, b, s) for (auto i = (a), _b = (b); i >= _b; i -= (s))
#define REP(i, n) for (int i = 1, _n = (n); i <= _n; ++i)
#define FORE(i, v) for (auto &i : (v))
#define ShinzouWoSasageyo ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define FoundingTitan if (fopen(TASK ".inp", "r")) freopen(TASK ".inp", "r", stdin), freopen(TASK ".out", "w", stdout);
using namespace std;
template<class X, class Y>
bool minimize(X &x, const Y &y)
{
if (x > y)
{
x = y;
return true;
}
return false;
}
template<class X, class Y>
bool maximize(X &x, const Y &y)
{
if (x < y)
{
x = y;
return true;
}
return false;
}
const int N = 6e4 + 9;
const int INT_MX = (1LL << 30);
const ll LL_MX = (1LL << 62);
const int mod = 1e9 + 7;
const int base = 131;
/*
Author: Minh Son Nguyen - Huynh Dong Nhi Nguyen - Tanh Linh High School
A2 - K39 (2025 - 2028)
*/
int n;
vector<int> a;
int ans = 0;
vector<int> Merge(const vector<int> &a, const vector<int> &b)
{
vector<int> c;
int i = 0, j = 0;
while (i < sz(a) || j < sz(b))
{
if (i == sz(a))
{
c.push_back(b[j++]);
}
else if (j == sz(b))
{
c.push_back(a[i++]);
}
else if (a[i] <= b[j])
{
c.push_back(a[i++]);
}
else
{
ans += sz(a) - i;
c.push_back(b[j++]);
}
}
return c;
}
void Msort(vector<int> &a, int l, int r)
{
if (l == r) return;
int mid = (l + r) >> 1;
Msort(a, l, mid);
Msort(a, mid + 1, r);
vector<int> b, c;
FOR (i, l, mid, 1)
{
b.push_back(a[i]);
}
FOR (i, mid + 1, r, 1)
{
c.push_back(a[i]);
}
b = Merge(b, c);
FOR (i, l, r, 1)
{
a[i] = b[i - l];
}
}
namespace ErenxMikasa
{
/*
Welcome to the battlefield :D
Now, let's solve the problem!
*/
void process(void)
{
cin >> n;
a.resize(n + 9);
FOR (i, 1, n, 1)
{
cin >> a[i];
}
Msort(a, 1, n);
cout << ans;
}
}
signed main(void)
{
ShinzouWoSasageyo;
FoundingTitan;
ErenxMikasa::process();
return 0;
}
/*
That is the end of my template, let's drink a coffee and chill with my code ~~
Dedicate your heart! ~~~ Shinzou Wo Sasageyo! - Scout Regiment
Tatakae! ~~~ Keep fighting - Eren Yeager
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVsICdcbicKI2RlZmluZSBUQVNLICJ0ZXN0IgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCgojZGVmaW5lIGFsbCh2KSAodikuYmVnaW4oKSwgKHYpLmVuZCgpCiNkZWZpbmUgcmFsbCh2KSAodikucmJlZ2luKCksICh2KS5yZW5kKCkKI2RlZmluZSBzeihzKSAoaW50KShzKS5zaXplKCkKCiNkZWZpbmUgRk9SKGksIGEsIGIsIHMpIGZvciAoYXV0byBpID0gKGEpLCBfYiA9IChiKTsgaSA8PSBfYjsgaSArPSAocykpCiNkZWZpbmUgRk9SRChpLCBhLCBiLCBzKSBmb3IgKGF1dG8gaSA9IChhKSwgX2IgPSAoYik7IGkgPj0gX2I7IGkgLT0gKHMpKQojZGVmaW5lIFJFUChpLCBuKSBmb3IgKGludCBpID0gMSwgX24gPSAobik7IGkgPD0gX247ICsraSkKI2RlZmluZSBGT1JFKGksIHYpIGZvciAoYXV0byAmaSA6ICh2KSkKCiNkZWZpbmUgU2hpbnpvdVdvU2FzYWdleW8gaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojZGVmaW5lIEZvdW5kaW5nVGl0YW4gaWYgKGZvcGVuKFRBU0sgIi5pbnAiLCAiciIpKSBmcmVvcGVuKFRBU0sgIi5pbnAiLCAiciIsIHN0ZGluKSwgZnJlb3BlbihUQVNLICIub3V0IiwgInciLCBzdGRvdXQpOwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPGNsYXNzIFgsIGNsYXNzIFk+CmJvb2wgbWluaW1pemUoWCAmeCwgY29uc3QgWSAmeSkKewogICAgaWYgKHggPiB5KQogICAgewogICAgICAgIHggPSB5OwogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9Cgp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZPgpib29sIG1heGltaXplKFggJngsIGNvbnN0IFkgJnkpCnsKICAgIGlmICh4IDwgeSkKICAgIHsKICAgICAgICB4ID0geTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKY29uc3QgaW50IE4gICAgICA9IDZlNCArIDk7CmNvbnN0IGludCBJTlRfTVggPSAoMUxMIDw8IDMwKTsKY29uc3QgbGwgTExfTVggICA9ICgxTEwgPDwgNjIpOwpjb25zdCBpbnQgbW9kICAgID0gMWU5ICsgNzsKY29uc3QgaW50IGJhc2UgICA9IDEzMTsKCi8qCiAgICAgQXV0aG9yOiBNaW5oIFNvbiBOZ3V5ZW4gLSBIdXluaCBEb25nIE5oaSBOZ3V5ZW4gLSBUYW5oIExpbmggSGlnaCBTY2hvb2wKICAgICBBMiAtIEszOSAoMjAyNSAtIDIwMjgpCiovCgppbnQgbjsKdmVjdG9yPGludD4gYTsKaW50IGFucyA9IDA7Cgp2ZWN0b3I8aW50PiBNZXJnZShjb25zdCB2ZWN0b3I8aW50PiAmYSwgY29uc3QgdmVjdG9yPGludD4gJmIpCnsKICAgIHZlY3RvcjxpbnQ+IGM7CiAgICBpbnQgaSA9IDAsIGogPSAwOwogICAgd2hpbGUgKGkgPCBzeihhKSB8fCBqIDwgc3ooYikpCiAgICB7CiAgICAgICAgaWYgKGkgPT0gc3ooYSkpCiAgICAgICAgewogICAgICAgICAgICBjLnB1c2hfYmFjayhiW2orK10pOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChqID09IHN6KGIpKQogICAgICAgIHsKICAgICAgICAgICAgYy5wdXNoX2JhY2soYVtpKytdKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoYVtpXSA8PSBiW2pdKQogICAgICAgIHsKICAgICAgICAgICAgYy5wdXNoX2JhY2soYVtpKytdKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgYW5zICs9IHN6KGEpIC0gaTsKICAgICAgICAgICAgYy5wdXNoX2JhY2soYltqKytdKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gYzsKfQoKdm9pZCBNc29ydCh2ZWN0b3I8aW50PiAmYSwgaW50IGwsIGludCByKQp7CiAgICBpZiAobCA9PSByKSByZXR1cm47CgogICAgaW50IG1pZCA9IChsICsgcikgPj4gMTsKICAgIE1zb3J0KGEsIGwsIG1pZCk7CiAgICBNc29ydChhLCBtaWQgKyAxLCByKTsKCiAgICB2ZWN0b3I8aW50PiBiLCBjOwogICAgRk9SIChpLCBsLCBtaWQsIDEpIAogICAgewogICAgICAgIGIucHVzaF9iYWNrKGFbaV0pOwogICAgfQogICAgRk9SIChpLCBtaWQgKyAxLCByLCAxKQogICAgewogICAgICAgIGMucHVzaF9iYWNrKGFbaV0pOwogICAgfQoKICAgIGIgPSBNZXJnZShiLCBjKTsKICAgIEZPUiAoaSwgbCwgciwgMSkKICAgIHsKICAgICAgICBhW2ldID0gYltpIC0gbF07CiAgICB9Cgp9CgpuYW1lc3BhY2UgRXJlbnhNaWthc2EKewogICAgLyoKICAgICAgICAgV2VsY29tZSB0byB0aGUgYmF0dGxlZmllbGQgOkQKICAgICAgICAgTm93LCBsZXQncyBzb2x2ZSB0aGUgcHJvYmxlbSEKICAgICovCgogICAgdm9pZCBwcm9jZXNzKHZvaWQpCiAgICB7CiAgICAgICAgY2luID4+IG47CiAgICAgICAgYS5yZXNpemUobiArIDkpOwogICAgICAgIEZPUiAoaSwgMSwgbiwgMSkKICAgICAgICB7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgIH0KCiAgICAgICAgTXNvcnQoYSwgMSwgbik7CiAgICAgICAgY291dCA8PCBhbnM7CgogICAgfQp9CgpzaWduZWQgbWFpbih2b2lkKQp7CiAgICBTaGluem91V29TYXNhZ2V5bzsKICAgIEZvdW5kaW5nVGl0YW47CiAgICBFcmVueE1pa2FzYTo6cHJvY2VzcygpOwogICAgcmV0dXJuIDA7Cn0KCi8qCiAgICBUaGF0IGlzIHRoZSBlbmQgb2YgbXkgdGVtcGxhdGUsIGxldCdzIGRyaW5rIGEgY29mZmVlIGFuZCBjaGlsbCB3aXRoIG15IGNvZGUgfn4KICAgIERlZGljYXRlIHlvdXIgaGVhcnQhIH5+fiBTaGluem91IFdvIFNhc2FnZXlvISAtIFNjb3V0IFJlZ2ltZW50CiAgICBUYXRha2FlISB+fn4gS2VlcCBmaWdodGluZyAtIEVyZW4gWWVhZ2VyCiov