#include <stdio.h>
int s[100000],ct,sum;
void count(int val);
void mergesort(int a[],int l,int h);
int main(void) {
// your code goes here
int n,i;
int a[n];
for(i=0;i<n;i++)
mergesort(a,0,n-1);
return 0;
}
void mergesort(int a[],int l,int h) // O(nlogn)
{
if(l<h)
{
int mid=l+(h-l)/2;
mergesort(a,l,mid);
mergesort(a,mid+1,h);
}
else if(l==h)
{
count(a[l]);
}
}
void count(int val) //O(n)
{
int i;
if(ct==0)
{
s[0]=val;
ct++;
}
else
{
for(i=0;i<ct;i++)
{
if(s[i]>val)
{
sum+=1;
// printf("pair = %d %d\n",s[i],val);
}
}
s[i]=val;
ct+=1;
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBzWzEwMDAwMF0sY3Qsc3VtOwp2b2lkIGNvdW50KGludCB2YWwpOwp2b2lkIG1lcmdlc29ydChpbnQgYVtdLGludCBsLGludCBoKTsKaW50IG1haW4odm9pZCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG4saTsKCXNjYW5mKCIlZCIsJm4pOwoJaW50IGFbbl07Cglmb3IoaT0wO2k8bjtpKyspCglzY2FuZigiJWQiLGEraSk7CgltZXJnZXNvcnQoYSwwLG4tMSk7CglwcmludGYoIiVkIixzdW0pOwoJcmV0dXJuIDA7Cn0Kdm9pZCBtZXJnZXNvcnQoaW50IGFbXSxpbnQgbCxpbnQgaCkgICAgICAgICAgICAgICAvLyBPKG5sb2duKQp7CiAgICBpZihsPGgpCiAgICB7CiAgICAgICAgaW50IG1pZD1sKyhoLWwpLzI7CiAgICAgICAgbWVyZ2Vzb3J0KGEsbCxtaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIG1lcmdlc29ydChhLG1pZCsxLGgpOwogICAgfQogICAgZWxzZSBpZihsPT1oKQogICAgewogICAgICAgIGNvdW50KGFbbF0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIH0KfQp2b2lkIGNvdW50KGludCB2YWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL08obikKewogICAgaW50IGk7CiAgICBpZihjdD09MCkKICAgIHsKICAgIHNbMF09dmFsOwogICAgY3QrKzsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBmb3IoaT0wO2k8Y3Q7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoc1tpXT52YWwpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgc3VtKz0xOwogICAgICAgICAvLyAgIHByaW50ZigicGFpciA9ICVkICVkXG4iLHNbaV0sdmFsKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBzW2ldPXZhbDsKICAgICAgICBjdCs9MTsKICAgIH0KfQo=