#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; 
	} 
}