Var M,N: longint;
S: ansistring;
R,A,F,luu: Array[0..150000] of longint;
Function max(a,b: longint): longint;
begin
max:=a;
if b>max then max:=b;
end;
Function min(a,b: longint): longint;
begin
min:=a;
if b<min then min:=b;
end;
Function xuli(i: longint): longint;
var bd,dem: longint;
begin
bd:=0;
dem:=0;
While bd<=m do
begin
bd:=bd+i;
inc(dem);
While S[bd]='1' do dec(bd);
end;
exit(dem);
end;
Procedure Enter;
var i,j: longint;
max1,min1: longint;
begin
Readln(N,M);
max1:=0; min1:=100000000;
for i:=1 to N do
begin
read(R[i]);
max1:=max(max1,R[i]);
min1:=min(min1,R[i]);
end;
Readln;
Read(S);
For i:=1 to 101 do S:=S+'';
for i:=min1 to max1 do luu[i]:=xuli(i);
for i:=1 to n do A[i]:=luu[R[i]];
end;
Procedure Sort(L,h: longint);
var key,t,i,j: longint;
begin
if L>=H then EXIT;
key:=A[random(H-L+1)+L];
i:=L; j:=H;
repeat
While A[i]<key do inc(i);
While A[j]>key do dec(j);
if i<=j then
begin
if i<j then begin t:=A[i];A[i]:=A[j];A[j]:=t end;
inc(i); dec(j);
end;
until i>j;
Sort(L,j); Sort(i,H);
end;
Procedure Process;
var i,j: longint;
begin
F[0]:=0; F[1]:=A[1]; F[2]:=A[2];
For i:=3 to N do
F[i]:=min(F[i-1]+A[i]+A[1], F[i-2]+A[1]+2*A[2]+A[i]);
Write(F[n]);
end;
begin
Enter;
Sort(1,N);
Process;
end.
VmFyIE0sTjogbG9uZ2ludDsKICAgIFM6IGFuc2lzdHJpbmc7CiAgICBSLEEsRixsdXU6IEFycmF5WzAuLjE1MDAwMF0gb2YgbG9uZ2ludDsKIApGdW5jdGlvbiBtYXgoYSxiOiBsb25naW50KTogbG9uZ2ludDsKYmVnaW4KICAgIG1heDo9YTsKICAgIGlmIGI+bWF4IHRoZW4gbWF4Oj1iOwplbmQ7CiAKRnVuY3Rpb24gbWluKGEsYjogbG9uZ2ludCk6IGxvbmdpbnQ7CmJlZ2luCiAgICBtaW46PWE7CiAgICBpZiBiPG1pbiB0aGVuIG1pbjo9YjsKZW5kOwogCiAKRnVuY3Rpb24geHVsaShpOiBsb25naW50KTogbG9uZ2ludDsKdmFyIGJkLGRlbTogbG9uZ2ludDsKYmVnaW4KICAgIGJkOj0wOwogICAgZGVtOj0wOwogICAgV2hpbGUgYmQ8PW0gZG8KICAgICAgYmVnaW4KICAgICAgICBiZDo9YmQraTsKICAgICAgICBpbmMoZGVtKTsKICAgICAgICBXaGlsZSBTW2JkXT0nMScgZG8gZGVjKGJkKTsKICAgICAgZW5kOwogICAgZXhpdChkZW0pOwplbmQ7CiAKIApQcm9jZWR1cmUgRW50ZXI7CnZhciBpLGo6IGxvbmdpbnQ7CiAgICBtYXgxLG1pbjE6IGxvbmdpbnQ7CmJlZ2luCiAgICBSZWFkbG4oTixNKTsKICAgIG1heDE6PTA7IG1pbjE6PTEwMDAwMDAwMDsKICAgIGZvciBpOj0xIHRvIE4gZG8KICAgICAgYmVnaW4KICAgICAgICByZWFkKFJbaV0pOwogICAgICAgIG1heDE6PW1heChtYXgxLFJbaV0pOwogICAgICAgIG1pbjE6PW1pbihtaW4xLFJbaV0pOwogICAgICBlbmQ7CiAgICBSZWFkbG47CiAgICBSZWFkKFMpOwogICAgRm9yIGk6PTEgdG8gMTAxIGRvIFM6PVMrJyc7CiAgICBmb3IgaTo9bWluMSB0byBtYXgxIGRvIGx1dVtpXTo9eHVsaShpKTsKICAgIGZvciBpOj0xIHRvIG4gZG8gQVtpXTo9bHV1W1JbaV1dOwplbmQ7CiAKIAogClByb2NlZHVyZSBTb3J0KEwsaDogbG9uZ2ludCk7CnZhciBrZXksdCxpLGo6IGxvbmdpbnQ7CmJlZ2luCiAgICBpZiBMPj1IIHRoZW4gRVhJVDsKICAgIGtleTo9QVtyYW5kb20oSC1MKzEpK0xdOwogICAgaTo9TDsgajo9SDsKICAgIHJlcGVhdAogICAgICBXaGlsZSBBW2ldPGtleSBkbyBpbmMoaSk7CiAgICAgIFdoaWxlIEFbal0+a2V5IGRvIGRlYyhqKTsKICAgICAgaWYgaTw9aiB0aGVuCiAgICAgICAgYmVnaW4KICAgICAgICAgICBpZiBpPGogdGhlbiBiZWdpbiB0Oj1BW2ldO0FbaV06PUFbal07QVtqXTo9dCBlbmQ7CiAgICAgICAgICAgaW5jKGkpOyBkZWMoaik7CiAgICAgICAgZW5kOwogICAgdW50aWwgaT5qOwogICAgU29ydChMLGopOyBTb3J0KGksSCk7CiAKZW5kOwogClByb2NlZHVyZSBQcm9jZXNzOwp2YXIgaSxqOiBsb25naW50OwpiZWdpbgogICAgRlswXTo9MDsgRlsxXTo9QVsxXTsgRlsyXTo9QVsyXTsKICAgIEZvciBpOj0zIHRvIE4gZG8KICAgICAgRltpXTo9bWluKEZbaS0xXStBW2ldK0FbMV0sIEZbaS0yXStBWzFdKzIqQVsyXStBW2ldKTsKICAgIFdyaXRlKEZbbl0pOwplbmQ7CiAKYmVnaW4KICAgICAgICBFbnRlcjsKICAgICAgICBTb3J0KDEsTik7CiAgICAgICAgUHJvY2VzczsKZW5kLg==