import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class TwoTeams {
    private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    public static String readLine() {
        try {
            return reader.readLine();
        } catch (IOException e) {
            return null;
        }
    }

    public static int solve(int n, int index, int whiteIndex, int blackIndex, int[][][] dp, int[] elements) {
        if (index == n) {
            return 0;
        }

        if (dp[index][whiteIndex][blackIndex] != 0) {
            return dp[index][whiteIndex][blackIndex];
        }

        int secondaryState = 0;
        int tertiaryState = 0;

        if (whiteIndex == n || elements[index] > elements[whiteIndex]) {
            secondaryState = 1 + solve(n, index + 1, index, blackIndex, dp, elements);
        }

        if (blackIndex == n || elements[index] < elements[blackIndex]) {
            tertiaryState = 1 + solve(n, index + 1, whiteIndex, index, dp, elements);
        }

        dp[index][whiteIndex][blackIndex] = Math.max(solve(n, index + 1, whiteIndex, blackIndex, dp, elements), Math.max(secondaryState, tertiaryState));

        return dp[index][whiteIndex][blackIndex];
    }

    public static void main(String[] args) {
        int n = Integer.parseInt(readLine());

        long start = System.currentTimeMillis();

        int[][][] dp = new int[257][257][257];

        String[] unparsed = readLine().split("\\s");
        int[] parsed = new int[n];

        for (int i = 0; i < unparsed.length; i++) {
            parsed[i] = Integer.parseInt(unparsed[i]);
        }

        System.out.println(n - solve(n, 0, n, n, dp, parsed));

        long end = System.currentTimeMillis();

        System.out.println(end - start);
    }
}
