#include <bits/stdc++.h>
using namespace std;
vector<int> graf[1000007];
bool odwiedzony[1000007];
int warstwa[1000007];
int main() {
int n, m, S, a, b;
cin >> n >> m;
for(int i = 1; i <=n*m; i++){
int opcja1 = i-1;
int opcja2 = i+1;
int opcja3 = i-m;
int opcja4 = i+m;
if(opcja1 >= 1 && opcja1 <= n*m){
graf[i].push_back(opcja1);
}
if(opcja2 >= 1 && opcja2 <= n*m){
graf[i].push_back(opcja2);
}
if(opcja2 >= 1 && opcja1 <= n*m){
graf[i].push_back(opcja2);
}
if(opcja3 >= 1 && opcja3 <= n*m){
graf[i].push_back(opcja3);
}
if(opcja4 >= 1 && opcja4 <= n*m){
graf[i].push_back(opcja4);
}
}
cin >> S;
queue<int> Q;
for(int i = 0; i < S; i++){
cin >> a >> b;
//wrzuæ do kolejki
Q.push((a*m)-(m-b));
odwiedzony[(a*m)-(m-b)] = true;
}
//BFS
while (not(Q.empty())) {
int v = Q.front();
Q.pop();
for (int sasiad : graf[v]) {
if (not(odwiedzony[sasiad])) {
odwiedzony[sasiad] = true;
Q.push(sasiad);
warstwa[sasiad] = warstwa[v] + 1;
}
}
}
for(int i = 1; i <= n*m; i++){
cout << warstwa[i] << " ";
if(i % m == 0){
cout << "\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKdmVjdG9yPGludD4gZ3JhZlsxMDAwMDA3XTsKYm9vbCBvZHdpZWR6b255WzEwMDAwMDddOwppbnQgd2Fyc3R3YVsxMDAwMDA3XTsKIAppbnQgbWFpbigpIHsKCWludCBuLCBtLCBTLCBhLCBiOwoJY2luID4+IG4gPj4gbTsKCWZvcihpbnQgaSA9IDE7IGkgPD1uKm07IGkrKyl7CgkJaW50IG9wY2phMSA9IGktMTsKCQlpbnQgb3BjamEyID0gaSsxOwoJCWludCBvcGNqYTMgPSBpLW07CgkJaW50IG9wY2phNCA9IGkrbTsKCQlpZihvcGNqYTEgPj0gMSAmJiBvcGNqYTEgPD0gbiptKXsKCQkJZ3JhZltpXS5wdXNoX2JhY2sob3BjamExKTsKCQl9CgkJaWYob3BjamEyID49IDEgJiYgb3BjamEyIDw9IG4qbSl7CgkJCWdyYWZbaV0ucHVzaF9iYWNrKG9wY2phMik7CgkJfQoJCWlmKG9wY2phMiA+PSAxICYmIG9wY2phMSA8PSBuKm0pewoJCQlncmFmW2ldLnB1c2hfYmFjayhvcGNqYTIpOwoJCX0KCQlpZihvcGNqYTMgPj0gMSAmJiBvcGNqYTMgPD0gbiptKXsKCQkJZ3JhZltpXS5wdXNoX2JhY2sob3BjamEzKTsKCQl9CgkJaWYob3BjamE0ID49IDEgJiYgb3BjamE0IDw9IG4qbSl7CgkJCWdyYWZbaV0ucHVzaF9iYWNrKG9wY2phNCk7CgkJfQoJfQoJY2luID4+IFM7CglxdWV1ZTxpbnQ+IFE7Cglmb3IoaW50IGkgPSAwOyBpIDwgUzsgaSsrKXsKCQljaW4gPj4gYSA+PiBiOwoJCS8vd3J6dcOmIGRvIGtvbGVqa2kKCQlRLnB1c2goKGEqbSktKG0tYikpOwoJCW9kd2llZHpvbnlbKGEqbSktKG0tYildID0gdHJ1ZTsKCX0KCS8vQkZTCgl3aGlsZSAobm90KFEuZW1wdHkoKSkpIHsKCQlpbnQgdiA9IFEuZnJvbnQoKTsKCQlRLnBvcCgpOwoJCWZvciAoaW50IHNhc2lhZCA6IGdyYWZbdl0pIHsKICAgIAkJaWYgKG5vdChvZHdpZWR6b255W3Nhc2lhZF0pKSB7CiAgICAJCQlvZHdpZWR6b255W3Nhc2lhZF0gPSB0cnVlOwogICAgCQkJUS5wdXNoKHNhc2lhZCk7CiAgICAJCQl3YXJzdHdhW3Nhc2lhZF0gPSB3YXJzdHdhW3ZdICsgMTsKICAgIAkJfQoJCX0KCX0KCWZvcihpbnQgaSA9IDE7IGkgPD0gbiptOyBpKyspewoJCWNvdXQgPDwgd2Fyc3R3YVtpXSA8PCAiICI7CgkJaWYoaSAlIG0gPT0gMCl7CgkJCWNvdXQgPDwgIlxuIjsKCQl9Cgl9CglyZXR1cm4gMDsKfQ==