#include <bits/stdc++.h>
using namespace std;
int n,f[105],g[105],a[105],dp[105],maxn,cnt=0x3f3f3f3f,b[105];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
int l=1,r=maxn,ans=0;
while(l<=r){
int mid=(l+r)>>1;
if(f[mid]<a[i])l=mid+1,ans=mid;
else r=mid-1;
}
dp[i]=max(1,ans+1);
f[dp[i]]=a[i];
maxn=max(maxn,dp[i]);
}
maxn=0;
memset(f,0,sizeof(0));
for(int i=1;i<=n;i++){
b[i]=a[n-i+1];
}
for(int i=1;i<=n;i++){
int l=1,r=maxn,ans=0;
while(l<=r){
int mid=(l+r)>>1;
if(f[mid]>b[i])l=mid+1,ans=mid;
else r=mid-1;
}
g[i]=max(1,ans+1);
f[g[i]]=b[i];
maxn=max(maxn,g[i]);
cnt=min(cnt,n-dp[i]-g[i]+1);
// else cnt=min(cnt,n-dp[i]-g[i]);
}
cout<<cnt;
return 0;
}