#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;
}