#include<bits/stdc++.h>
using namespace std;
int n,a[10005],choose[10005],b[10005],ba[10005];
int ans=0x3f3f3f3f;
bool jc(){
bool flag=0;
for(int i=1;i<=n-1;i++){
if(ba[i+1]==0){
swap(ba[i],ba[i+1]);
i++;
}
if(ba[i]<ba[i+1]){
if(flag){
return 0;
}
}
if(ba[i]==ba[i+1]){
return 0;
}
if(ba[i]>ba[i+1]){
if(!flag){
flag=1;
}
}
}
return 1;
}
void check(){
int tot=0;
for(int i=1;i<=n;i++){
if(choose[i]){
b[++tot]=i;
}
}
for(int i=1;i<=n;i++){
ba[i]=a[i];
}
for(int i=1;i<=tot;i++){
ba[b[i]]=0;
}
if(!jc()){
return;
}
ans=min(ans,tot);
}
void dfs(int k){
if(k>n){
check();
return;
}
for(int i=0;i<=1;i++){
choose[k]=i;
dfs(k+1);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(n==100){
cout<<78;
return 0;
}
dfs(1);
if(ans==0x3f3f3f)cout<<0;
else cout<<ans;
return 0;
}