#include <bits/stdc++.h>
void scan(int* i) {
  int t = 0;
  char c;
  bool negative = false;
  c = getchar_unlocked();
  while (c < '0' || c > '9') {
    if (c == '-') negative = true;
    c = getchar_unlocked();
  }
  while (c >= '0' && c <= '9') {
    t = (t << 3) + (t << 1) + c - '0';
    c = getchar_unlocked();
  }
  if (negative) t = ~(t - 1);
  *i = t;
}
void scan(long long int* i) {
  long long int t = 0;
  char c;
  bool negative = false;
  c = getchar_unlocked();
  while (c < '0' || c > '9') {
    if (c == '-') negative = true;
    c = getchar_unlocked();
  }
  while (c >= '0' && c <= '9') {
    t = (t << 3) + (t << 1) + c - '0';
    c = getchar_unlocked();
  }
  if (negative) t = ~(t - 1);
  *i = t;
}
using namespace std;
int main(int argc, char const* argv[]) {
  int m, n, q;
  scan(&m);
  scan(&n);
  scan(&q);
  vector<vector<int> > v(m, vector<int>(n, 0));
  for (int i = 0; i < m; i++)
    for (int j = 0; j < n; j++) scan(&v[i][j]);
  for (int i = 0; i < m; i++)
    for (int j = 1; j < n; j++)
      if (v[i][j]) v[i][j] += v[i][j - 1];
  vector<int> mx(m, 0);
  for (int i = 0; i < m; i++)
    for (int j = 0; j < n; j++) mx[i] = max(mx[i], v[i][j]);
  vector<int> ans(q, 0);
  for (int i = 0; i < q; i++) {
    int x, y;
    scan(&x);
    scan(&y);
    x--;
    y--;
    if (v[x][y])
      v[x][y] = 0;
    else
      v[x][y] = 1;
    for (int j = 0; j < n; j++)
      if (v[x][j]) v[x][j] = 1;
    for (int j = 1; j < n; j++)
      if (v[x][j]) v[x][j] += v[x][j - 1];
    mx[x] = 0;
    for (int j = 0; j < n; j++) mx[x] = max(mx[x], v[x][j]);
    int sc = 0;
    for (int j = 0; j < m; j++) {
      sc = max(sc, mx[j]);
    }
    ans[i] = sc;
  }
  for (int i = 0; i < q; i++) cout << ans[i] << endl;
}
