#include <stdio.h>
#include <time.h>

void compare(int a,int N,int A[],int k,int B[],int C[],int b_tail,int c_tail)
{
  if(a==N-1)
    {
      printf("%d",k);
      return ;
    }

  int j,bt=b_tail,ct=c_tail;

  /*C[]??????B[]??????????§?????????????*/
  if(A[a+1]>A[a])
    {
      for(j=ct;j>=1;j--)
	{
	  if(C[j]<A[a+1] || C[j]==A[a+1])
	    {
	      if(C[j]<A[a+1])
		{
		  B[++b_tail]=C[j];
		}
	      C[j]=C[c_tail];
	      c_tail--;
	    }
	}
    }

  /*B[]??????C[]??????????§?????????????*/
  else
    {
      for(j=bt;j>=1;j--)
	{
	  if(B[j]>A[a+1] || B[j]==A[a+1])
	    {
	      if(B[j]>A[a+1])
		{
		  C[++c_tail]=B[j];
		}
	      B[j]=B[b_tail];
	      b_tail--;
	    }
	}
    }

  k+=b_tail;
  a++;
  compare(a,N,A,k,B,C,b_tail,c_tail);
}




int main(void)
{
  clock_t start,end;

  /*??\?????????????????°*/
  int N;
  scanf("%d",&N);
  int A[N];

  int i,k=0;

  /*A[]?????°??????????´?*/
  for(i=0;i<N;i++)
    {
      scanf("%d",&A[i]);
    }

  start=clock();

  /*???????????°???????????????????°?????????°??????B[]????????§????????°??????C[]???*/
  int B[N],C[N];
  int b_tail=0,c_tail=0;
  for(i=1;i<N;i++)
    {
      if(A[0]>A[i])
	{
	  B[++b_tail]=A[i];
	}

      else
	{
	  C[++c_tail]=A[i];
	}
    }

  k=b_tail;
  compare(0,N,A,k,B,C,b_tail,c_tail);
  printf("\n");

  end=clock();
 // printf("%f[s]\n",(float)(end - start)/(CLOCKS_PER_SEC));


  return 0;
}