include<bits/stdc++.h>
using namespace std;
int n;
int a[105];
int f[105];
int main(){
cin >> n;
for(int i=1;i<=n;++i){
cin >> a[i];
}
if(n==1||n==2){
cout << 0;
return 0;
}
f[1]=1;
int cnt1=0,cnt2=0,ans=0;
for(int k=2;k<=n;++k){ //枚举分界点 cnt1=0,cnt2=0; //最长上升子序列 for(int i=2;i<=k;++i){ int z=0; for(int j=i-1;j>0;--j){ //遍历之前的序列,找到能接在a[i]之前的最长的 if(a[j]<a[i]) z=max(z,f[j]); //z表示前面子序列小于a[i]的最长长度 } f[i]=z+1; cnt1=max(cnt1,f[i]); } f[k]=1; //最长下降子序列 for(int j=k;j<=n;++j){ int z=0; for(int p=j-1;p>=k;--p){ if(a[p]>a[j]) z=max(z,f[p]); } f[j]=z+1; cnt2=max(cnt2,f[j]-1); } ans=max(ans,cnt1+cnt2); }
cout << n-ans; return 0;
}