#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<queue>
#include<vector>
using namespace std;
int main() {
int n, m, k;
cin >> n >> m >> k;
int a[n + 1][n + 1] = {};
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
a[x][y] = 1;
}
for (int i = 0; i < k; i++) {
int o, p;
cin >> o >> p;
a[o][p] = 2;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (a[i][j] == 1) {
a[i - 1][j] = 3;
a[i - 2][j] = 3;
a[i + 1][j] = 3;
a[i + 2][j] = 3;
a[i - 1][j - 1] = 3;
a[i + 1][j - 1] = 3;
a[i + 1][j + 1] = 3;
a[i - 1][j + 1] = 3;
a[i][j - 1] = 3;
a[i][j - 2] = 3;
a[i][j + 1] = 3;
a[i][j + 2] = 3;
} else if (a[i][j] == 2) {
for (int l = -2; l < 3; l++) {
for (int z = -2; z < 3; z++) {
a[i + z][j + l] = 3;
}
}
a[i][j] = 2;
}
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << a[i][j];
}
cout << endl;
}
int count = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (a[i][j] == 0) {
count++;
}
}
}
printf("%d\n\n", count);
}