# На острове Буяне жили N человек, каждый из которых был либо рыцарем либо лжецом, встали в круг.
# Рыцари говорят только правду, лжецы всегда только лгут. Каждому человеку в кругу задали вопрос:
# «Кто ты и кто твой сосед слева: рыцарь или лжец?» При этом каждый человек сказал, что он – рыцарь.
# А ответы всех людей о левом соседе были записаны в следующем формате: 1 – рыцарь 0 – лжец.
# Все ответы записаны в строку через пробел. Последний спрошенный человек отвечал на вопрос о первом.
# Написать программу, которая по ответам жителей определяет, какое количество рыцарей заведомо присутствует в круге.
# Входные данные
# Первое число ( 1 < N ≤ 255 ) - количество жителей.
# Следующие N чисел (0 или 1), разделенных пробелами - ответы жителей.

n = int(input())
answers = [int(s) for s in input().split()]

residents = [True] * n

variants = []  # Список допустимых вариантов решения, если их может быть больше одного.

# Первый обход списка в допущении, что residents[0] - рыцарь.
for i in range(n-1):
    if residents[i]:
        residents[i+1] = bool(answers[i])
    else:
        residents[i + 1] = bool(answers[i] - 1)

if residents[-1]:  # Если последний в списке residents - рыцарь и его ответ про первого в списке - 1
    if answers[-1]:
        result = sum(residents)  # подсчитываем сумму списка и добавляем в допустимые варианты решений.
        variants.append(result)
else:  # Если последний в списке residents - лжец и его ответ про первого в списке - 0
    if answers[-1] - 1:
        result = sum(residents)  # подсчитываем сумму списка и добавляем в допустимые варианты решений.
        variants.append(result)

# Второй обход списка в допущении, что residents[0] - лжец.
residents[0] = False
for i in range(n - 1):
    if residents[i]:
        residents[i + 1] = bool(answers[i])
    else:
        residents[i + 1] = bool(answers[i] - 1)

if residents[-1]:  # Если последний в списке residents - рыцарь и его ответ про первого в списке - 0
    if answers[-1] - 1:
        result = sum(residents)  # подсчитываем сумму списка и добавляем в допустимые варианты решений.
        variants.append(result)
else:  # Если последний в списке residents - лжец и его ответ про первого в списке - 1
    if answers[-1]:
        result = sum(residents)  # подсчитываем сумму списка и добавляем в допустимые варианты решений.
        variants.append(result)

# Выбираем минимальное значение из допустимых вариантов решения.
print(min(variants))
