/*
TASK:psort
LANG:C++
*/
#include<iostream>
#define MN 50002
using namespace std;
long n,br,br1,a[MN],b[MN];

void vhod()
{ long i;
  cin>>n;
  for(i=1;i<=n;i++)
     {cin>>a[i];b[i]=a[i];}
}
void gen(long x)
{long i,s;
  s=a[x];
  for(i=x;i<s;i++)
    {a[i]=a[i+1];}
    a[s]=s;
}
void gen1(long x)
{long i,s;
 s=b[x];
 for(i=x;i>s;i--)
     b[i]=b[i-1];
 b[s]=s;
}
void solve()
{long i,j,max=0,min=MN,k;
 for(i=1;i<=n;i++)
    {for(j=n-i+1;j>0;j--)
         if(max<a[j]&&a[j]!=j){max=a[j];k=j;}
     if(max>0){br++;gen(k);}
     max=0;
    }
 for(i=1;i<=n;i++)
    {for(j=i;j<=n;j++)
        if(min>b[j]&&b[j]!=j)
          {min=b[j];k=j;}
     if(min<MN){br1++;gen1(k);}
      min=MN;
    }
  if(br<br1)cout<<br;
  else cout<<br1;
    
  cout<<endl;
}
int main()
{ vhod();
  solve();
  return 0;
}

