/*
B
题意:由14个洞组成一个环,开始时第i个洞中有ai个球,
可以选择一个洞,将其中的球全部拿出来,然后依次往后
放(每个洞放一个),最后统计有偶数个球的洞中球的总
个数。
思路:可以开两倍的数组来模拟环(模14也行),暴力枚
举求最大就行,注意选择一个洞后,这个洞里面就没球了。
*/
#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL a[50];
LL b[50];
void init()
{
for(int i = 0; i < 30; i++)
b[i] = a[i];
}
int main()
{
for(int i = 0; i < 14; i ++)
{
cin>>a[i];
a[i+14] = a[i];
}
LL ans = 0;
for(int i = 0; i < 14; i++)
{
init();
LL sum = 0;
if(b[i] == 0)
continue;
LL tmp = b[i]/14;
LL x = b[i]%14;
b[i] = 0;
b[i+14] = 0;
//cout<<tmp<<endl;
//cout<<x<<endl;
for(int i = 0; i < 29; i++)
b[i] += tmp;
for(int j = i+1; j <= i + x; j++)
b[j]++;
for(int j = i+1; j < i+15; j++)
{
if(b[j] % 2 == 0)
sum += b[j];
//cout<<b[j]<<endl;
}
ans = max(ans,sum);
}
cout<<ans<<endl;
return 0;
}
//10001 10001 10001 10001 10001 10001 10001 10001 10001 10001 10001 10001 10001 1
/*
C
题意:有n个士兵,第i士兵的强度为ai,表示他可以承受
ai支箭,然后有k次射箭,每次射ki支,每次箭射向士兵,
如果士兵死亡,那么剩下的箭将会射向下一位士兵,如果
在所有士兵死光了,那么所有士兵都会被复活,并且这轮
射箭剩下的箭将会作废。输入每次射箭之后存活士兵的数
量。
思路:将士兵的强度求前缀和,然后将射箭的数量求和,
二分求箭数量和在强度前缀和的位置,即可知道,当前轮
次有多少士兵已经死亡,若全部死亡,则箭的数量变为0;
*/
#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL a[200005],b[200005];
LL f[200005];
LL n,q;
LL fun(LL x)
{
int l = 0,r = n;
while(l <= r)
{
LL mid = (l+r)>>1;
if(f[mid] == x)
return mid;
else if(f[mid] > x)
r = mid - 1;
else
l = mid + 1;
}
if(f[l] > x)
return l - 1;
return l;
}
int main()
{
scanf("%lld%lld",&n,&q);
LL sum = 0;
f[0] = 0;
for(int i = 0; i < n; i++)
{
cin>>a[i];
sum += a[i];
f[i+1] = sum;
}
LL pre = 0;
LL ans = 0;
for(int i = 0; i < q; i++)
{
cin>>b[i];
pre += b[i];
if(pre >= sum)
{
printf("%lld\n",n);
pre = 0;
}
else
printf("%lld\n",n-fun(pre));
}
return 0;
}