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;

}