Память компьютера состоит из *n* ячеек, которые выстроены в ряд. Пронумеруем ячейки от 1 до *n* слева направо. Про каждую ячейку известно, свободна она или принадлежит какому-либо процессу (в таком случае известен процесс, которому она принадлежит).

Для каждого процесса известно, что принадлежащие ему ячейки занимают в памяти непрерывный участок. С помощью операций вида «переписать данные из занятой ячейки в свободную, а занятую теперь считать свободной» требуется расположить все принадлежащие процессам ячейки в начале памяти компьютера. Другими словами, любая свободная ячейка должна располагаться правее (иметь больший номер) любой занятой.

Вам необходимо найти минимальное количество операций переписывания данных из одной ячейки в другую, с помощью которых можно достичь описанных условий. Допустимо, что относительный порядок ячеек в памяти для каждого из процессов изменится после дефрагментации, но относительный порядок самих процессов должен остаться без изменений. Это значит, что если все ячейки, принадлежащие процессу *i*, находились в памяти раньше всех ячеек процесса *j*, то и после перемещений это условие должно выполняться.

Считайте, что номера всех процессов уникальны, хотя бы одна ячейка памяти занята каким-либо процессом.
В первой строке входных данных записано число *n* (1 ≤ *n* ≤ 200 000) — количество ячеек в памяти компьютера.

Во второй строке входных данных следуют *n* целых чисел *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ *n*), где *a*<sub class="lower-index">*i*</sub> равно либо 0 (это означает, что *i*-я ячейка памяти свободна), либо номеру процесса, которому принадлежит *i*-я ячейка памяти. Гарантируется, что хотя бы одно значение *a*<sub class="lower-index">*i*</sub> не равно 0.

Процессы пронумерованы целыми числами от 1 до *n* в произвольном порядке. При этом процессы не обязательно пронумерованы последовательными числами.
В первом тестовом примере достаточно двух операций:
 1.  Переписать данные из третьей ячейки в первую. После этого память компьютера примет вид: 2 2 0 1. 1.  Переписать данные из четвертой ячейки в третью. После этого память компьютера примет вид: 2 2 1 0.
4
0 2 2 1
2
8
0 8 8 8 0 4 4 2
4
5
0 0 0 1 1
2
6
0 0 0 3 0 0
1
10
0 10 10 0 0 3 3 0 0 0
3
10
0 9 9 9 9 0 8 8 8 8
3
15
0 0 6 6 0 0 0 0 4 0 0 0 9 0 0
4
21
0 11 11 11 11 0 7 0 12 12 12 12 12 0 19 19 19 0 1 1 1
11
24
0 0 6 6 6 0 22 22 0 23 23 0 19 19 19 19 0 0 17 0 0 3 3 3
14
15
1 1 1 1 5 5 5 4 4 4 3 3 3 2 7
0
1
1
0
21
11 0 0 0 0 7 0 12 0 0 0 0 0 19 0 0 0 1 0 0 0
4
24
6 6 0 0 0 22 0 0 23 0 0 19 0 0 0 0 17 17 0 3 3 0 0 0
7
6
4 4 2 6 6 6
0
n = int(input())
a = list(map(int ,input().split()))
cp = 0
cnt = 0

while cp < n:
    if a[cp] or sum(a[cp:])==0: cp +=1; continue
    eep = cp
    while eep < n and not a[eep]: eep += 1
    eop = eep
    while eop+1 < n and a[eop+1] == a[eep]: eop += 1
    sop = eop - eep + 1
    if sop <= eep:
        cnt += sop
        dcnt = sop
    else:
        cnt += eep - cp
        dcnt = eep - cp
    ind = eop
    for i in range(dcnt):
        a[ind], a[cp] = a[cp], a[ind]
        cp += 1
        ind -= 1

print(cnt)
