#include<stdio.h>
int main(void){
	int n,m,bit[15],tmp[15],i,j,k,tgt[15],tgb[15],sw,bitsum=0,tgsum=0;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&bit[i]);
		tmp[i]=bit[i];
		bitsum+=bit[i];
	}
	for(i=0;i<m;i++){
		scanf("%d",&tgt[i]);
	}
	i=j=k=0;
	sw=0;
	while(1){
		if(sw%2==0){
			tgb[k]=0;
		}
		else{
			tgb[k]=1;
			tgsum++;
		}
		k++;
		i++;
		if(i==tgt[j]){
			j++;
			sw++;
			i=0;
		}
		if(j==m){
			break;
		}
	}
	//0start
	int zero=0;
	if(bitsum==tgsum){
		while(1){
			sw=0;
			for(i=0;i<n;i++){
				if(tgb[i]!=tmp[i]){
					sw++;
					break;
				}
			}
			if(sw==0){
				break;
			}
			for(i=0;i<n;i++){
				if(tgb[i]!=tmp[i]){
					k=i;
					break;
				}
			}
			for(i=k+1;i<n;i++){
				if(tmp[k]!=tmp[i]){
					zero+=i-k;
					j=tmp[k];
					tmp[k]=tmp[i];
					tmp[i]=j;
					break;
				}
			}
		}
	}
	else{
		zero=1000000;
	}
	for(i=0;i<n;i++){
		if(tgb[i]==1){
			tgb[i]=0;
		}
		else{
			tgb[i]=1;
		}
	}
	for(i=0;i<n;i++){
		tmp[i]=bit[i];
	}
	//1start
	int one=0;
	tgsum=n-tgsum;
	if(bitsum==tgsum){
		while(1){
			sw=0;
			for(i=0;i<n;i++){
				if(tgb[i]!=tmp[i]){
					sw++;
					break;
				}
			}
			if(sw==0){
				break;
			}
			for(i=0;i<n;i++){
				if(tgb[i]!=tmp[i]){
					k=i;
					break;
				}
			}
			for(i=k+1;i<n;i++){
				if(tmp[k]!=tmp[i]){
					one+=i-k;
					j=tmp[k];
					tmp[k]=tmp[i];
					tmp[i]=j;
					break;
				}
			}
		}
	}
	else{
		one=1000000;
	}
	if(one>zero){
		printf("%d\n",zero);
	}
	else{
		printf("%d\n",one);
	}
	return 0;
}