while 1:
try:
def forwardLIS(nums):
n = len(nums)
L = [1] * n
for i in reversed(range(n)):
for j in range(i+1, n):
if nums[i] > nums[j]:
L[i] = max(L[i], L[j] + 1)
return L
def backwardLIS(nums):
n = len(nums)
L = [1] * n
for i in range(n):
for j in reversed(range(i)):
if nums[i] > nums[j]:
L[i] = max(L[i], L[j] + 1)
return L
def minDrop(nums):
a = forwardLIS(nums)
b = backwardLIS(nums)
return len(nums) - max(a[i] + b[i] for i in range(len(nums))) + 1
m = int(input())
nums = list(map(int, input().split()))
print(minDrop(nums))
except:
break