#include <bits/stdc++.h>
using namespace std;
int n, m, k;
vector<vector<int>> v;
void sit(int x, int y) {
  while (1) {
    int u = max(1, x - v[x][y]), d = min(n, x + v[x][y]);
    for (; u <= d; ++u) {
      if (y - v[x][y] + abs(u - x) > 0) {
        if (v[u][y - v[x][y] + abs(u - x)] == 0) {
          cout << u << ' ' << y - v[x][y] + abs(u - x) << '\n';
          ++v[u][y - v[x][y] + abs(u - x)];
          return;
        } else if (v[x][y] < v[u][y - v[x][y] + abs(u - x)] - v[x][y]) {
          v[x][y] = v[u][y - v[x][y] + abs(u - x)] - v[x][y];
          break;
        }
      }
      if (y + v[x][y] - abs(u - x) <= m) {
        if (v[u][y + v[x][y] - abs(u - x)] == 0) {
          cout << u << ' ' << y + v[x][y] - abs(u - x) << '\n';
          ++v[u][y + v[x][y] - abs(u - x)];
          return;
        } else if (v[x][y] < v[u][y + v[x][y] - abs(u - x)] - v[x][y]) {
          v[x][y] = v[u][y + v[x][y] - abs(u - x)] - v[x][y];
          break;
        }
      }
    }
    if (u > d) ++v[x][y];
  }
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n >> m >> k;
  v.resize(n + 1, vector<int>(m + 1, 0));
  while (k--) {
    int a, b;
    cin >> a >> b;
    sit(a, b);
  }
}
