Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;

int a[20],b[2][20],c[20];
int main(){
	int n,m;scanf("%d%d",&n,&m);
	rep(i,n)scanf("%d",&a[i]);
	int cnt=0;
	rep(i,m){
		int d;scanf("%d",&d);
		rep(j,d){
			b[0][cnt]=i%2;
			b[1][cnt++]=!(i%2);
		}
	}
	int Min=INT_MAX;
	rep(i,2){
		rep(j,n)c[j]=a[j];
		int cnt=0;
		rep(j,n){
			if(c[j]!=b[i][j]){
				int k;
				for(k=j+1;k<n;k++){
					if(c[k]==b[i][j])break;
				}
				if(k==n){
					goto g;
				}
				for(int t=k;t>j;t--){
					cnt++;swap(c[t],c[t-1]);
				}
			}
		}
		Min=min(Min,cnt);
		g:;
	}
	printf("%d\n",Min);
}