#include <bits/stdc++.h>
using namespace std;
const int mn = 1010;
char s[mn];
long long ans, sum;
int last, n, m, x[mn], y[mn], a[mn], b[mn];
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) {
    scanf("\n%s", s + 1);
    for (int j = 1; j <= m; j++) {
      if (s[j] == '.') {
        x[i]++;
        y[j]++;
        sum++;
      } else {
        a[i] = j;
        b[j] = i;
      }
    }
  }
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      ans += 1LL * x[i] * x[j] * ((i - j) < 0 ? -(i - j) : (i - j));
  for (int i = 1; i <= m; i++)
    for (int j = 1; j <= m; j++)
      ans += 1LL * y[i] * y[j] * ((i - j) < 0 ? -(i - j) : (i - j));
  for (int i = 1; i <= n; i++) {
    last = 0;
    for (int j = i; j <= n && a[j] > last; j++) {
      last = a[j];
      ans += 4LL * (a[i] - 1) * (m - a[j]);
    }
    last = 0;
    for (int j = i; j >= 1 && a[j] > last; j--) {
      last = a[j];
      if (j != i) ans += 4LL * (a[i] - 1) * (m - a[j]);
    }
  }
  for (int i = 1; i <= m; i++) {
    last = 0;
    for (int j = i; j <= m && b[j] > last; j++) {
      last = b[j];
      ans += 4LL * (b[i] - 1) * (n - b[j]);
    }
    last = 0;
    for (int j = i; j >= 1 && b[j] > last; j--) {
      last = b[j];
      if (j != i) ans += 4LL * (b[i] - 1) * (n - b[j]);
    }
  }
  printf("%.8lf\n", 1.0 * ans / sum / sum);
  return 0;
}
