#include <iostream>

int n;

int rec(int len, int *arr) {
    if (len <= 1) {
        return 0;
    }
    bool same = true;
    for (int i = 1; i < len && same; ++i) {
        if (arr[i - 1] != arr[i]) same=false;
    }
    if (same) return 0;
    int ans = len;
    for (int i = 0; i < len; ++i) {
        int arrcpy[16];
        int cnt = 0;
        for (int j = 0;j < len; ++j) {
            if (arr[i] != arr[j])
                arrcpy[cnt++] = arr[j];
        }
        int curr = rec(cnt, arrcpy);
        if (ans > curr + 1)
            ans = curr + 1;
    }
    int cnt = 0;
    for (int j = 0;j < len; ++j) if (arr[j] == arr[len - 1]) cnt++;
    if (cnt == 1) {
        int curr = rec(len - 1, arr);
        if (ans > curr)
            ans = curr;
    }
    return ans;
}

int main() {
    int arr[32];
    std::cin >> n;
    for (int i = 0; i < n; ++i) {
        std::cin >> arr[i];
    }
    std::cout << rec(n, arr) << '\n';
    return 0;
}
