Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include<bits/stdc++.h>

using namespace std;
#define FOR(i,bg,ed) for(int i=bg;i<ed;i++)
#define REP(i,n) FOR(i,0,n)


typedef vector<int> V;
int f(int bg,V bit,V b){
    int ret=0;
    int id=0;
    int n =bit.size();
    for(auto &it:b){
        while(it>0){
            //cout<<id<<endl;
            int i;
            for(i=id;bit[i]!=bg;i++){
                if(i+1>=n)return 1000000;
            }
            while(i>id){
                swap(bit[i],bit[i-1]);
                ret++;
                i--;
            }
            id++;
            it--;
        }
        bg=1-bg;
    }
    return ret;
}
int main(){
    int n,m;
    cin>>n>>m;
    V a(n);
    V b(m);
    REP(i,n)cin>>a[i];
    REP(i,m)cin>>b[i];
    cout<<min(f(0,a,b),f(1,a,b))<<endl;
    return 0;
}