#include <iostream>
using namespace std;
int binary_find_down(int a[], int cnt, int target) {
if (a[cnt] < target) return -1;
//查找最小 >= target
int l = 1, r = cnt;
while (r > l) {
int mid = (r - l) / 2 + l;
if (a[mid] >= target) r = mid;
else l = mid + 1;
}
return r;
}
int main() {
int n, q;
cin >> n >> q;
int* sum = new int[n + 1];
sum[0] = 0;
int tmp, cnt = 0;
for (int i = 0; i < n; i++) {
cin >> tmp;
//注意这里写出sum[++cnt] = tmp + sum[cnt - 1]本地的c++11可以通过但是oj通过不了
cnt++;
sum[cnt] = tmp + sum[cnt - 1];
}
while (q--) {
cin >> tmp;
cout << binary_find_down(sum, cnt, tmp + 1) << endl;
}
}