#include<bits/stdc++.h>
using namespace std;
int h[1001];
int f1[1001][1001];
int f2[1001][1001];
int main(){
int n;
int zds;
cin>>n;
for(int i=1;i<=1000;i++){
for(int j=1;j<=1000;j++){
f1[i][j]=1;
f2[i][j]=1;
}
}
for(int i=1;i<=n;i++)
cin>>h[i];
for(int z=1;z<=n;z++){
for(int i=1;i<=z;i++){
int max1=0;
for(int j=1;j<=i;j++){
if(h[i]>h[j]){
max1=max(max1,f1[z][j]);
}
}
f1[z][i]+=max1;
}
for(int i=z;i<=n;i++){
int max2=0;
for(int j=z;j<=i;j++){
if(h[i]<h[j]){
max2=max(max2,f2[z][j]);
}
}
f2[z][i]+=max2;
}
int ans=0;
for(int i=1;i<=z;i++){
ans=max(ans,f1[z][i]);
}
int ans2=0;
for(int i=z;i<=n;i++){
ans2=max(ans2,f2[z][i]);
}
zds=0;
zds=max(zds,ans+ans2);
}
cout<<n-zds+1;
return 0;
}