#include <bits/stdc++.h>
using namespace std;
int visited[105][105], parent[1005];
int r, c;
int a[4][2] = {0, 1, 0, -1, 1, 0, -1, 0};
string g[105];
void bfsutil(int k, int j) {
  int x, y, i;
  queue<pair<int, int> > q;
  q.push(pair<int, int>(k, j));
  visited[k][j] = 1;
  while (!q.empty()) {
    pair<int, int> p = q.front();
    q.pop();
    x = p.first;
    y = p.second;
    for (i = 0; i < 4; i++) {
      int tx = x + a[i][0];
      int ty = y + a[i][1];
      if (tx >= 0 && tx <= r && ty >= 0 && ty <= c && !visited[tx][ty] &&
          g[tx][ty] == 'B') {
        visited[tx][ty] = 1;
        q.push(pair<int, int>(tx, ty));
      }
    }
  }
}
int bfs() {
  int i, j, count = 0;
  for (i = 0; i < r; i++) {
    for (j = 0; j < c; j++) {
      if (g[i][j] == 'B' && !visited[i][j]) {
        count++;
        bfsutil(i, j);
      }
    }
  }
  return count;
}
int main() {
  long long int n, m, i, u, v;
  cin >> r >> c;
  for (i = 0; i < r; i++) {
    cin >> g[i];
  }
  cout << bfs();
}
