#include <bits/stdc++.h>
using namespace std;
int main() {
long long n, m;
cin >> n >> m;
long long a[n * n][m * m], t, x1, y1, x2, y2;
memset(a, 0, sizeof(a));
for (long long i = 1; i <= n; i++) {
for (long long j = 1; j <= n; j++) {
cin >> a[i][j];
}
}
cin >> t;
while (t--) {
cin >> x1 >> y1 >> x2 >> y2;
long long h = a[x1][y1];
a[x1][y1] = a[x2][y2];
a[x2][y2] = h;
}
int dx[] = {-1, 0, 1, 0};
int dy[] = {0, 1, 0, -1};
long long u = 0;
bool f = 1;
long long ax[n] = {0}, ay[m] = {0}, axi = 0, axj = 0;
for (long long i = 1; i <= n; i++) {
for (long long j = 1; j <= n; j++) {
f = 1;
for (u = 0; u < 4; u++) {
if (a[i + dx[u]][j + dy[u]] >= a[i][j] ) {
f = 0;
break;
}
}
if (f) {
ax[axi++] = i;
ay[axj++] = j;
}
}
}
cout << axi << endl;
for (long long j = 0; j < axj; j++) {
cout << ax[j] << " " << ay[j] << "\n";
}
return 0;
}