#include <bits/stdc++.h> // NeOWami
using namespace std;
#define ft first
#define sc second
#define int long long
using pii = pair<int, int>;
const int N = 5e2 + 5;
const int A = 250000 + 5;
int Dx[] = {-1, 1, 0, 0};
int Dy[] = {0, 0, -1, 1};
int n, m, T, ans = 0;
int a[N][N], par[A], sz[A], Group[A];
struct Edge {
int u, v, w;
};
vector<Edge> E;
inline int getID(int x, int y) {
return (x - 1) * m + y;
}
inline pii getXY(int id) {
return (pii) {(id - 1) / m + 1, (id % m) ? id % m : m};
}
int findPar(int u) {
if (par[u] == u) return u;
return par[u] = findPar(par[u]);
}
bool joint(int u, int v) {
u = findPar(u), v = findPar(v);
if (u == v) return 0;
if (sz[u] < sz[v]) swap(u, v);
par[v] = u;
sz[u] += sz[v];
Group[u] += Group[v];
Group[v] = sz[v] = 0;
return 1;
}
signed main() {
cin.tie(NULL)->sync_with_stdio(false);
if(ifstream("SKILEVEL.inp")) {
freopen("SKILEVEL.inp", "r", stdin);
freopen("SKILEVEL.out", "w", stdout);
}
cin >> n >> m >> T;
for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) cin >> a[i][j];
for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) {
int ok; cin >> ok;
int id = getID(i, j);
if (ok) Group[id] = 1;
par[id] = id;
sz[id] = 1;
}
if (T <= 1) return cout << 0, 0;
for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) {
int u = getID(i, j);
for (int mov = 0; mov < 4; mov++) {
int tx = i + Dx[mov], ty = j + Dy[mov];
if (!tx || !ty || tx > n || ty > m) continue;
int v = getID(tx, ty);
// cerr << u << " " << v << " " << abs(a[i][j] - a[tx][ty]) << "\n";
E.push_back({u, v, abs(a[i][j] - a[tx][ty])});
}
}
sort(E.begin(), E.end(), [&](Edge &a, Edge &b) {return a.w < b.w;});
for (Edge &e: E) {
// cerr << "HIC";
if (joint(e.u, e.v)) {
// cerr << "?";
int u = findPar(e.u);
if (sz[u] >= T) {
ans += Group[u] * e.w;
Group[u] = 0;
}
}
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IC8vIE5lT1dhbWkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZnQgZmlyc3QKI2RlZmluZSBzYyBzZWNvbmQKI2RlZmluZSBpbnQgbG9uZyBsb25nCnVzaW5nIHBpaSA9IHBhaXI8aW50LCBpbnQ+Owpjb25zdCBpbnQgTiA9IDVlMiArIDU7CmNvbnN0IGludCBBID0gMjUwMDAwICsgNTsKaW50IER4W10gPSB7LTEsIDEsIDAsIDB9OwppbnQgRHlbXSA9IHswLCAwLCAtMSwgMX07CgppbnQgbiwgbSwgVCwgYW5zID0gMDsKaW50IGFbTl1bTl0sIHBhcltBXSwgc3pbQV0sIEdyb3VwW0FdOwpzdHJ1Y3QgRWRnZSB7CiAgICBpbnQgdSwgdiwgdzsKfTsKdmVjdG9yPEVkZ2U+IEU7CgppbmxpbmUgaW50IGdldElEKGludCB4LCBpbnQgeSkgewogICAgcmV0dXJuICh4IC0gMSkgKiBtICsgeTsKfQppbmxpbmUgcGlpIGdldFhZKGludCBpZCkgewogICAgcmV0dXJuIChwaWkpIHsoaWQgLSAxKSAvIG0gKyAxLCAoaWQgJSBtKSA/IGlkICUgbSA6IG19Owp9CgppbnQgZmluZFBhcihpbnQgdSkgewogICAgaWYgKHBhclt1XSA9PSB1KSByZXR1cm4gdTsKICAgIHJldHVybiBwYXJbdV0gPSBmaW5kUGFyKHBhclt1XSk7Cn0KYm9vbCBqb2ludChpbnQgdSwgaW50IHYpIHsKICAgIHUgPSBmaW5kUGFyKHUpLCB2ID0gZmluZFBhcih2KTsKICAgIGlmICh1ID09IHYpIHJldHVybiAwOwogICAgaWYgKHN6W3VdIDwgc3pbdl0pIHN3YXAodSwgdik7CiAgICBwYXJbdl0gPSB1OwogICAgc3pbdV0gKz0gc3pbdl07CiAgICBHcm91cFt1XSArPSBHcm91cFt2XTsKICAgIAogICAgR3JvdXBbdl0gPSBzelt2XSA9IDA7CiAgICByZXR1cm4gMTsKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBjaW4udGllKE5VTEwpLT5zeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgaWYoaWZzdHJlYW0oIlNLSUxFVkVMLmlucCIpKSB7CiAgICAgICAgZnJlb3BlbigiU0tJTEVWRUwuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbigiU0tJTEVWRUwub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgY2luID4+IG4gPj4gbSA+PiBUOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBmb3IgKGludCBqID0gMTsgaiA8PSBtOyBqKyspIGNpbiA+PiBhW2ldW2pdOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBmb3IgKGludCBqID0gMTsgaiA8PSBtOyBqKyspIHsKICAgICAgICBpbnQgb2s7IGNpbiA+PiBvazsKICAgICAgICBpbnQgaWQgPSBnZXRJRChpLCBqKTsKICAgICAgICBpZiAob2spIEdyb3VwW2lkXSA9IDE7CiAgICAgICAgcGFyW2lkXSA9IGlkOwogICAgICAgIHN6W2lkXSA9IDE7CiAgICB9CiAgICBpZiAoVCA8PSAxKSByZXR1cm4gY291dCA8PCAwLCAwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBmb3IgKGludCBqID0gMTsgaiA8PSBtOyBqKyspIHsKICAgICAgICBpbnQgdSA9IGdldElEKGksIGopOwogICAgICAgIGZvciAoaW50IG1vdiA9IDA7IG1vdiA8IDQ7IG1vdisrKSB7CiAgICAgICAgICAgIGludCB0eCA9IGkgKyBEeFttb3ZdLCB0eSA9IGogKyBEeVttb3ZdOwogICAgICAgICAgICBpZiAoIXR4IHx8ICF0eSB8fCB0eCA+IG4gfHwgdHkgPiBtKSBjb250aW51ZTsKICAgICAgICAgICAgaW50IHYgPSBnZXRJRCh0eCwgdHkpOwogICAgICAgICAgICAvLyBjZXJyIDw8IHUgPDwgIiAiIDw8IHYgPDwgIiAiIDw8IGFicyhhW2ldW2pdIC0gYVt0eF1bdHldKSA8PCAiXG4iOwogICAgICAgICAgICBFLnB1c2hfYmFjayh7dSwgdiwgYWJzKGFbaV1bal0gLSBhW3R4XVt0eV0pfSk7CiAgICAgICAgfQogICAgfQogICAgc29ydChFLmJlZ2luKCksIEUuZW5kKCksIFsmXShFZGdlICZhLCBFZGdlICZiKSB7cmV0dXJuIGEudyA8IGIudzt9KTsKICAgIGZvciAoRWRnZSAmZTogRSkgewogICAgICAgIC8vIGNlcnIgPDwgIkhJQyI7CiAgICAgICAgaWYgKGpvaW50KGUudSwgZS52KSkgewogICAgICAgICAgICAvLyBjZXJyIDw8ICI/IjsKICAgICAgICAgICAgaW50IHUgPSBmaW5kUGFyKGUudSk7CiAgICAgICAgICAgIGlmIChzelt1XSA+PSBUKSB7CiAgICAgICAgICAgICAgICBhbnMgKz0gR3JvdXBbdV0gKiBlLnc7CiAgICAgICAgICAgICAgICBHcm91cFt1XSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGFuczsKICAgIHJldHVybiAwOwp9