#include <bits/stdc++.h>
using namespace std;
int n, a[10005], g[10005], ans;
int main() {
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
if (a[1] == 0) {
g[1] = 0, g[2] = 0;
bool flag = 1;
for (int i = 3; i <= n; i++) {
if (g[i - 2] + g[i - 1] > a[i - 1] || g[i - 2] + g[i - 1] + 1 < a[i - 1]) {
flag = 0;
break;
} else if (g[i - 2] + g[i - 1] == a[i - 1]) g[i] = 0;
else g[i] = 1;
}
ans += flag;
} else if (a[1] == 1) {
g[1] = 0, g[2] = 1;
bool flag = 1;
for (int i = 3; i <= n; i++) {
if (g[i - 2] + g[i - 1] > a[i - 1] || g[i - 2] + g[i - 1] + 1 < a[i - 1]) {
flag = 0;
break;
} else if (g[i - 2] + g[i - 1] == a[i - 1]) g[i] = 0;
else g[i] = 1;
}
ans += flag;
g[1] = 1, g[2] = 0;
flag = 1;
for (int i = 3; i <= n; i++) {
if (g[i - 2] + g[i - 1] > a[i - 1] || g[i - 2] + g[i - 1] + 1 < a[i - 1]) {
flag = 0;
break;
} else if (g[i - 2] + g[i - 1] == a[i - 1]) g[i] = 0;
else g[i] = 1;
}
ans += flag;
} else {
g[1] = 1, g[2] = 0;
bool flag = 1;
for (int i = 3; i <= n; i++) {
if (g[i - 2] + g[i - 1] > a[i - 1] || g[i - 2] + g[i - 1] + 1 < a[i - 1]) {
flag = 0;
break;
} else if (g[i - 2] + g[i - 1] == a[i - 1]) g[i] = 0;
else g[i] = 1;
}
ans += flag;
}
cout << ans;
}
WA在第6个点上