#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
const int MAXN = 200000;
const int MAXQ = 200000;
int n, nq;
int a[MAXN];
long long q[MAXQ];
long long asum[MAXN + 1];
void run() {
  scanf("%d%d", &n, &nq);
  for (int i = (0); i < (n); ++i) scanf("%d", &a[i]);
  for (int i = (0); i < (nq); ++i) scanf("%lld", &q[i]);
  asum[0] = 0;
  for (int i = (0); i < (n); ++i) asum[i + 1] = asum[i] + a[i];
  long long qsum = 0;
  for (int qi = (0); qi < (nq); ++qi) {
    qsum += q[qi];
    int idx = upper_bound(asum, asum + n + 1, qsum) - asum;
    if (idx > n) {
      printf("%d\n", n);
      qsum = 0;
    } else {
      printf("%d\n", n - idx + 1);
    }
  }
}
int main() {
  run();
  return 0;
}
