//  #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432
//  思路:左边前缀最长递增,右边后缀最长递减,然后枚举每个点找出最大的递增+递减-1;(思路来自题解)
//  题目看错了,我以为最高的要在中间
#include <iostream>
#include <vector>
using namespace std;

vector<int> abc(1010, 1), cba(1010, 1), a(1010);//------abc记录递增,cba记录递减,a记录输入
int main() {
  ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
  int n;
  cin >> n;
  cin >> a[0];
  for (int i = 1; i < n; i++){//--------输入,同时维护abc
    cin >> a[i];
    for (int j = 0; j < i; j++){
      if (a[j] < a[i]) abc[i] = max(abc[i], abc[j] + 1);
    }
  }
  for (int i = n - 1; i >= 0; i--){//-----------处理cba
    for (int j = n - 1; j > i; j--){
      if (a[j] < a[i]) cba[i] = max(cba[i], cba[j] + 1);
    }
  }
  int ans = 0;
  for (int i = 0; i < n; i++){//----------枚举
    ans = max(abc[i] + cba[i] - 1, ans);
  }
  cout << n - ans;//------------记得题目要的是最少出列几个人,要用n减
}
// 64 位输出请用 printf("%lld")