//找出最大替换数max,比较最大替换数max和n进行对应输出
//考虑中间元素,连续三个0可以把中间的0替换为1,并max++
//考虑metrik[0],如果metrik[0]==0且metrik[1]==0,metrik[0]可以替换为1,并max++
//考虑metrik[m-1](最后一个元素),metrix[m-1-1]==0且metrix[m-1]==0,metrix[m-1]可以替换为1,并max++
#include <stdio.h>
int main() {
int m, n, max = 0;
scanf("%d", &m);
int metrix[m];
for(int i=0; i<m; i++){
scanf("%d", &metrix[i]);
}
scanf("%d", &n);//基础读取输入
int k = 0;
if(metrix[k]==0 && metrix[k+1] == 0){//考虑metrik[0]
metrix[k] = 1;
max++;
}
for(int j=1; j<m-1; j++){//考虑中间元素
if(metrix[j-1]==0 && metrix[j]==0 && metrix[j+1] == 0){
metrix[j] = 1;
max++;
}
}
k = m - 1;//考虑metrik[m-1](最后一个元素)
if(metrix[k-1]==0 && metrix[k]==0){
metrix[k] = 1;
max++;
}
if(n <= max){//比较最大替换数max和n
printf("true");
}
else{
printf("false");
}
return 0;
}