#include <iostream>
#include <vector>
using namespace std;
int traffico(long N, vector<int>S) {
int cambia = 0;
vector<int> ricordaS(N);
for (int i = 0; i < N; i++) {
ricordaS[i] = S[i];
}
for (int i = 1; i < N; i++) {
if (S[i] % 2 == S[i - 1] % 2) {
cambia++;
S[i]++;
}
}
int ricordaicambi = cambia;
cambia = 0;
for (int i = N - 1; i > 0; i--) {
if (ricordaS[i] % 2 == ricordaS[i - 1] % 2) {
cambia++;
ricordaS[i - 1]++;
}
}
if (ricordaicambi < cambia) {
cambia = ricordaicambi;
}
return cambia;
}
int main() {
int N;
cin >> N;
vector<int> S(N);
for (int i = 0; i < N; i++) {
cin >> S[i];
}
cout << traffico(N, S) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCB0cmFmZmljbyhsb25nIE4sIHZlY3RvcjxpbnQ+UykgewogICAgaW50IGNhbWJpYSA9IDA7CiAgICB2ZWN0b3I8aW50PiByaWNvcmRhUyhOKTsKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICByaWNvcmRhU1tpXSA9IFNbaV07CiAgICB9CiAgICAKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgaWYgKFNbaV0gJSAyID09IFNbaSAtIDFdICUgMikgewogICAgICAgICAgICBjYW1iaWErKzsKICAgICAgICAgICAgU1tpXSsrOwogICAgICAgIH0KICAgIH0KICAgIAogICAgaW50IHJpY29yZGFpY2FtYmkgPSBjYW1iaWE7CiAgICBjYW1iaWEgPSAwOwogICAgCiAgICBmb3IgKGludCBpID0gTiAtIDE7IGkgPiAwOyBpLS0pIHsKICAgICAgICBpZiAocmljb3JkYVNbaV0gJSAyID09IHJpY29yZGFTW2kgLSAxXSAlIDIpIHsKICAgICAgICAgICAgY2FtYmlhKys7CiAgICAgICAgICAgIHJpY29yZGFTW2kgLSAxXSsrOwogICAgICAgIH0KICAgIH0KICAgIAogICAgaWYgKHJpY29yZGFpY2FtYmkgPCBjYW1iaWEpIHsKICAgICAgICBjYW1iaWEgPSByaWNvcmRhaWNhbWJpOwogICAgfQogICAgCiAgICByZXR1cm4gY2FtYmlhOwp9CmludCBtYWluKCkgewogICAgaW50IE47CiAgICBjaW4gPj4gTjsKICAgIHZlY3RvcjxpbnQ+IFMoTik7CiAgICAKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgY2luID4+IFNbaV07CiAgICB9CiAgICAKICAgIGNvdXQgPDwgdHJhZmZpY28oTiwgUykgPDwgZW5kbDsKICAgIAogICAgcmV0dXJuIDA7Cn0=