n = int(input())
arr = str(input())
arr = arr.split(' ')
arr = [int(x) for x in arr]



def fectch_up_list(arr):
    dp = [ 1 for i in range(n)] # 最少就是自身了吧  
    sa = [ i for i in sorted(enumerate(arr), key = lambda x:x[1])]
    # print(sa)

    # i 表示采用i时,最多具有多少数量
    for i in range(0, n):
        
        id = sa[i][0]

        # if i > 0 and sa[i][1] == sa[i-1][1] and id > sa[i-1][0]:
        #     dp[id] = dp[sa[i-1][0]]
        #     continue

        # j 表示到当前j为止,最多具有多少数量
        for j in range(0, i):
            # if 
            idj = sa[j][0]
            if idj < id and sa[i][1] > sa[j][1]:
                dp[id] = max(dp[id], dp[idj]+1)

    return dp


dp1 = fectch_up_list(arr)
dp2 = fectch_up_list(list(reversed(arr)))
dp2 = list(reversed(dp2))

dp = []
for i in range(n):
    dp.append(dp1[i] + dp2[i])

# print(dp1, dp2, dp)

mx = max(dp[1:-1]) -1
ans = n - mx

print(ans)
# for i in range(1, n-1):
#     if dp[i] == mx:
#         if arr[i] > 








双向队列