#include
#include
using namespace std;
int main() {
int redovi, koloni;
cin >> redovi >> koloni;
int matrica[redovi][koloni];
int poseteno[redovi][koloni];
int roboti = 0;
int direction_i[] = {+1, -1, 0, 0};
int direction_j[] = {0, 0, +1, -1};
for(int i = 0; i < redovi; i++) {
for(int j = 0; j < koloni; j++) {
cin >> matrica[i][j];
poseteno[i][j] = 0;
}
}
for(int p = 0; p < 50; p++) {
int najmal_broj = 50;
int si, sj;
for(int i = 0; i < redovi; i++) {
for(int j = 0; j < koloni; j++) {
if(najmal_broj > matrica[i][j] and poseteno[i][j] == 0) {
najmal_broj = matrica[i][j];
si = i;
sj = j;
}
}
}
if(najmal_broj != 50) {
queue Q;
Q.push(si);
Q.push(sj);
poseteno[si][sj] = 1;
roboti++;
while(!Q.empty()) {
int ci = Q.front();
Q.pop();
int cj = Q.front();
Q.pop();
for(int k = 0; k < 4; k++) {
int ti = ci + direction_i[k];
int tj = cj + direction_j[k];
if(ti >= 0 and ti < redovi and tj >= 0 and tj < koloni and poseteno[ti][tj] == 0 and matrica[ci][cj] <= matrica[ti][tj]) {
Q.push(ti);
Q.push(tj);
poseteno[ti][tj] = 1;
}
}
}
}
}
cout << roboti << endl;
return 0;
}