Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<sstream>
#include<utility>
#include<map>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
//typedef pair<int,int>P;

int N,M,P,r1,r2;
vector<int>B,a1,a2;

int ch(vector<int> o,vector<int> s)
{
	int c=0,r=0;
	for(int i=0;i<o.size();i++)
		if(o[i]!=s[i])c++;
	if(c%2)return 1000000000;
	for(int i=0;i<o.size();i++)
	{
		if(o[i]!=s[i])
		{
			for(int j=i+1;j<o.size();j++)
			{
				if(o[j]!=s[j]&&o[i]!=o[j])
				{
					r+=j-i;
					swap(o[i],o[j]);
					break;
				}
			}
		}
		if(o[i]!=s[i])return 1000000000;
	}
	return r;
}

int main()
{
	scanf("%d%d",&N,&M);
	for(int i=0;i<N;i++)
	{
		int t;
		scanf("%d",&t);
		B.push_back(t);
	}
	for(int i=0;i<M;i++)
	{
		scanf("%d",&P);
		for(int j=0;j<P;j++)
		{
			a1.push_back(i%2);
			a2.push_back((i+1)%2);
		}
	}
	printf("%d\n",min(ch(B,a1),ch(B,a2)));
	
}