#include <bits/stdc++.h>
using namespace std;
const int maxn = 212345;
int n, q;
long long a[maxn], bit[maxn];
inline void add(int x, long long v) {
  while (x <= n) {
    bit[x] += v;
    x += x & -x;
  }
}
inline long long sum(int x) {
  long long ret = 0;
  while (x) {
    ret += bit[x];
    x -= x & -x;
  }
  return ret;
}
inline int get(long long v) {
  if (sum(n) <= v) return n + 1;
  int p = 0;
  for (int i = 17; i >= 0; --i)
    if (p + (1 << i) <= n && sum(p + (1 << i)) <= v) p += 1 << i;
  return p + 1;
}
int main() {
  scanf("%d%d", &n, &q);
  for (int i = 1; i <= n; ++i) {
    scanf("%I64d", &a[i]);
    add(i, a[i]);
  }
  while (q--) {
    int p, x;
    scanf("%d%d", &p, &x);
    long long v = x - a[p];
    a[p] = x;
    add(p, v);
    if (!a[1]) {
      puts("1");
      continue;
    }
    p = 1;
    while (p <= n) {
      p = get(sum(p) * 2 - 1);
      if (p > n) break;
      if (a[p] == sum(p - 1)) {
        printf("%d\n", p);
        break;
      }
    }
    if (p > n) puts("-1");
  }
  return 0;
}
