#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> nums(n, 0);
    for (int i = 0; i < n; i++) {
        cin >> nums[i];
    }
	//分解两个最长子序列,从头,从尾;求对应下标元素和的最大值
    vector<int> dp_left(n, 1);
    vector<int> dp_right(n, 1);
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < i; j++) {
            if (nums[i] > nums[j]) dp_left[i] = max(dp_left[i], dp_left[j] + 1);
        }
    }
    for (int i = n - 1; i >= 0; i--) {
        for (int j = n - 1; j > i; j--) {
            if (nums[i] > nums[j]) dp_right[i] = max(dp_right[i], dp_right[j] + 1);
        }
    }

    int ans = n;
    for (int i = 0; i < n; i++) {
        ans = min(ans, n - (dp_left[i] + dp_right[i]) + 1);
    }
    cout << ans;
    return 0;
}
// 64 位输出请用 printf("%lld")