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