#include <stdio.h>
#include <stdlib.h>
int main(void) {
int m; //数组长度
scanf("%d", &m);
int a[m];
for (int i = 0; i < m; i++)
scanf("%d", &a[i]);
int n;
scanf("%d", &n);
int count = 0;
int max[m];
int count_max = 0;
for (int i = 0; i < m; i++) {
if (a[i] == 0)
count++;
else {
if (count > 0) {
max[count_max++] = count;
count = 0;
}
}
}
if (count > 0)
max[count_max] = count;
//找n的最大值,即最多能把几个0替换成1
int max_n = 0;
if (a[0] == 1) {
for (int i = 0; i < count_max; i++) {
if (max[i] != 2 && max[i] != 1) {
if (max[i] % 2 != 0)
max_n += (max[i] - 1) / 2;
else
max_n += (max[i] - 2) / 2;
}
}
}
if (a[0] == 0) {
if(max[0] >= 2){
if(max[0] % 2 != 0)
max_n += (max[0] - 1) / 2;
else
max_n += max[0] / 2;
}
for (int i = 1; i < count_max; i++) {
if (max[i] != 2 && max[i] != 1) {
if (max[i] % 2 != 0)
max_n += (max[i] - 1) / 2;
else
max_n += (max[i] - 2) / 2;
}
}
}
if (max_n >= n)
printf("true");
else
printf("false");
return 0;
}