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

int n, cnt = 0, a[105], maxn[105], minn[105];

int main() {
	ios::sync_with_stdio(0), cin.tie(0);
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		maxn[i] = 1;
		minn[i] = 1;//读入与初始化
	}

	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= i; j++)
			if (a[i] > a[j])
				maxn[i] = max(maxn[i], maxn[j] + 1);
  //从小到大寻找最长严格上升子序列
	for (int i = n; i >= 1; i--)
		for (int j = n; j >= i; j--)
			if (a[i] > a[j])
				minn[i] = max(minn[i], minn[j] + 1);
  //从大到小寻找最长严格下降子序列
	for (int i = 1; i <= n; i++) {
		cnt = max(cnt, maxn[i] + minn[i]);//遍历一遍,找到两端最长的点
	}
	cout << n - cnt + 1;//cnt里包含了两个分界点,多减去一个重复的
  
//	for (int i : maxn)
//		printf("%d ", i);
//	puts("");
//	for (int i : minn)
//		printf("%d ", i);
	return 0;
}