#include <bits/stdc++.h>
using namespace std;
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);
cout << l << " " << r << endl;
for(int i = 1, j = 0; i < r; i++){
while(j < i){
if(vec[i] < vec[j]) ans++;
j++;
}
}
inplace_merge(vec.begin() + l, vec.begin() + mid, vec.begin() + r);
return ans ;
}
signed main(){
cin >> n;
for(int i = 0; i < n; i++){
int num;
cin >> num;
vec.push_back(num);
}
cout << recur(0, n) << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvcjxpbnQ+IHZlYzsKaW50IG47CgppbnQgcmVjdXIoaW50IGwsIGludCByKXsKCWludCBhbnMgPSAwOwoJaWYobCArIDEgPj0gcil7CgkJcmV0dXJuIGFuczsKCX0KCWludCBtaWQgPSAobCArIHIpIC8gMjsKCWFucyArPSByZWN1cihsLCBtaWQpOwoJYW5zICs9IHJlY3VyKG1pZCwgcik7Cgljb3V0IDw8IGwgPDwgIiAiIDw8IHIgPDwgZW5kbDsgCglmb3IoaW50IGkgPSAxLCBqID0gMDsgaSA8IHI7IGkrKyl7CgkJd2hpbGUoaiA8IGkpewoJCQlpZih2ZWNbaV0gPCB2ZWNbal0pIGFucysrOwoJCQlqKys7CgkJfQoJCQoJfQoJaW5wbGFjZV9tZXJnZSh2ZWMuYmVnaW4oKSArIGwsIHZlYy5iZWdpbigpICsgbWlkLCB2ZWMuYmVnaW4oKSArIHIpOwoJcmV0dXJuIGFucyA7CgoJCgkKfQpzaWduZWQgbWFpbigpewoJCgljaW4gPj4gbjsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewoJCWludCBudW07IAoJCWNpbiA+PiBudW07CgkJdmVjLnB1c2hfYmFjayhudW0pOwoJfQoJY291dCA8PCByZWN1cigwLCBuKSA8PCBlbmRsOyAKfQ==