#include <bits/stdc++.h>
using namespace std;
vector<int>h;
int n;
int long_up(int l,int r)
{
int maxl=1;
int dp[100];
for(int i=0;i<100;i++) dp[i]=1;
for(int i=l;i<=r;i++)
{
for(int j=l;j<i;j++)
{
if(h[i]>h[j])
{
dp[i]=max(dp[j]+1,dp[i]);
}
}
maxl=max(maxl,dp[i]);
}
return maxl;
}
int main() {
while(cin>>n)
{
h.clear();
int data;
for(int i=0;i<n;i++)
{
cin>>data;
h.push_back(data);
}
//从前往后,计算以i收尾的最长上升子序列
int a[n];
for(int i=0;i<h.size();i++)
{
a[i]=long_up(0,i);
}
//从后往前,计算以n-1-i收尾的最长上升子序列
int b[n];
reverse(h.begin(),h.end());
for(int i=0;i<h.size();i++)
{
b[i]=long_up(0,i);
}
int maxl=1;
//统计0~n-1,取能够组成合唱队的最大值,即a[i]+b[n-1-i]-1的最值
for(int i=0;i<n;i++)
{
maxl=max(maxl,a[i]+b[n-1-i]-1);
}
cout<<n-maxl;
}
}
// 64 位输出请用 printf("%lld")