rt
#include <bits/stdc++.h>
using namespace std;
const int H = 500;
const int W = 500;
int a[H][W];
int f[H][W];
int h, w, m, c = 0;
int uv[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
void visit(int i, int j, int c) {
if (f[i][j] != 0)
return;
f[i][j] = c;
for (auto [u, v] : uv) {
int x = i + u;
int y = j + v;
if (x < 0 || x >= h || y < 0 || y >= w)
continue;
if (abs(a[x][y] - a[i][j]) <= m)
visit(x, y, c);
}
}
int main() {
cin >> h >> w >> m;
for (int i = 0; i < h; i++)
for (int j = 0; j < w; j++)
cin >> a[i][j];
for (int i = 0; i < h; i++)
for (int j = 0; j < w; j++)
if (f[i][j] == 0)
visit(i, j, ++c);
cout << c << endl;
return 0;
}