#include<iostream>
using namespace std;
int max(int a,int b)
{
if(a >= b)
return a;
else
return b;
}
int main(){
int a[101];
int dpa[101];
int dpb[101];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
dpa[i]=1;
dpb[i]=1;
}
for(int i=1;i<n;i++){
for(int j=0;j<i;j++){
if(a[i]>a[j]){
dpa[i] = max(dpa[j]+1,dpa[i]);
}
}
}
for(int i=n - 1;i>=0;i--){
for(int j=n-1; j>i;j--){
if(a[i]>a[j])
dpb[i]=max(dpb[j]+1,dpb[i]);
}
}
int Max=0;
for(int i=0;i<n;i++){
Max=max(Max,dpa[i]+dpb[i]-1);
}
cout<<n-Max<<endl ;
}
/**************************************************************
Problem: 1277
User: lijinkai
Language: C++
Result: Accepted
Time:38 ms
Memory:2072 kb
****************************************************************/