#include <bits/stdc++.h>
using namespace std;
int n, K, m;
set<pair<int, int> > Set;
set<int> SS;
int O[524288];
struct Tree {
  int K[524288 + 524288], M[524288 + 524288];
  void UDT(int nd) { M[nd] = max(M[nd * 2], M[nd * 2 + 1]); }
  void init(int nd, int b, int e) {
    K[nd] = 0;
    if (b == e) {
      M[nd] = b;
      return;
    }
    int m = (b + e) >> 1;
    init(nd * 2, b, m);
    init(nd * 2 + 1, m + 1, e);
    UDT(nd);
  }
  void Add2(int nd, int x) {
    M[nd] += x;
    K[nd] += x;
  }
  void Spread(int nd) {
    Add2(nd * 2, K[nd]);
    Add2(nd * 2 + 1, K[nd]);
    K[nd] = 0;
  }
  void Add(int nd, int b, int e, int s, int l, int x) {
    if (s > l) return;
    if (s <= b && e <= l) {
      Add2(nd, x);
      return;
    }
    Spread(nd);
    int m = (b + e) >> 1;
    if (s <= m) Add(nd * 2, b, m, s, l, x);
    if (l > m) Add(nd * 2 + 1, m + 1, e, s, l, x);
    UDT(nd);
  }
  int Max(int nd, int b, int e, int s, int l) {
    if (s > l) return -99999999;
    if (s <= b && e <= l) return M[nd];
    Spread(nd);
    int m = (b + e) >> 1, r = -99999999;
    if (s <= m) r = max(r, Max(nd * 2, b, m, s, l));
    if (l > m) r = max(r, Max(nd * 2 + 1, m + 1, e, s, l));
    return r;
  }
} T;
void Solve() {
  int i;
  for (i = 1; i < 524288; i++) O[i] = 1;
  T.init(1, 0, 524288 - 1);
  scanf("%d%d%d", &n, &K, &m);
  for (i = 1; i <= m; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    int t = abs(x - K) + y;
    if (Set.find(pair<int, int>(x, y)) != Set.end()) {
      Set.erase(pair<int, int>(x, y));
      O[t]++;
      if (O[t] == 1) SS.erase(t);
      T.Add(1, 0, 524288 - 1, t, 524288 - 1, 1);
    } else {
      Set.insert(pair<int, int>(x, y));
      O[t]--;
      if (O[t] == 0) SS.insert(t);
      T.Add(1, 0, 524288 - 1, t, 524288 - 1, -1);
    }
    if (SS.empty()) {
      puts("0");
      continue;
    }
    t = *SS.rbegin();
    int t1 = T.Max(1, 0, 524288 - 1, 0, t);
    int t2 = T.Max(1, 0, 524288 - 1, t, t);
    printf("%d\n", max(t + (t1 - t2) - n, 0));
  }
}
int main() {
  int TC = 1;
  while (TC--) {
    Solve();
  }
}
