#include <bits/stdc++.h>
char tu[105][105];
int s, x, z, y, h;
int main() {
  int c, k;
  while (~scanf("%d%d", &c, &k)) {
    s = -1;
    x = -1;
    z = 105;
    y = -1;
    h = 0;
    int hei = 0;
    for (int i = 1; i <= c; i++) {
      scanf("%s", tu[i]);
      for (int j = 0; j < k; j++) {
        if (tu[i][j] == 'B') {
          if (s == -1) s = i;
          x = i;
          if (j < z) z = j;
          if (j > y) y = j;
          hei++;
        }
      }
    }
    int pan;
    int da = y - z + 1;
    int da2 = x - s + 1;
    if (da == da2) pan = 0;
    if (da > da2) pan = 1;
    if (da < da2) pan = 2;
    if (da2 > c || da2 > k) {
      printf("-1");
      continue;
    }
    if (da > c || da > k) {
      printf("-1");
      continue;
    }
    if (hei == 0) {
      printf("1\n");
      continue;
    }
    for (int i = s; i <= x; i++) {
      for (int j = z; j <= y; j++) {
        if (tu[i][j] == 'W') h++;
      }
    }
    if (pan == 0) {
      printf("%d\n", h);
      continue;
    }
    if (pan == 1) {
      da2 = da - da2;
      h += da * da2;
      printf("%d\n", h);
      continue;
    }
    da = da2 - da;
    h += da * da2;
    printf("%d\n", h);
    continue;
  }
  return 0;
}
