#include <bits/stdc++.h>
using namespace std;
int n, m;
int a[100010];
long long ans = 0;
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int Q = 0; Q < 20; Q++) {
    for (int j = 1; j <= n; j++)
      if (a[j] & (1 << Q)) {
        int k = 0;
        for (k = j; k <= n && (a[k] & (1 << Q)); k++)
          ;
        k--;
        ans += ((long long)(k - j + 1) * (k - j + 2) / 2) << Q;
        j = k;
      }
  }
  for (int P = 1; P <= m; P++) {
    int p, v;
    scanf("%d%d", &p, &v);
    for (int Q = 0; Q < 20; Q++)
      if ((a[p] & (1 << Q)) ^ (v & (1 << Q))) {
        int l, r;
        for (l = p - 1; l && (a[l] & (1 << Q)); l--)
          ;
        for (r = p + 1; r <= n && (a[r] & (1 << Q)); r++)
          ;
        l = p - l;
        r -= p;
        if ((v >> Q) & 1)
          ans += ((long long)l * r) << Q;
        else
          ans -= ((long long)l * r) << Q;
      }
    a[p] = v;
    printf("%I64d\n", ans);
  }
  return 0;
}
