#include <bits/stdc++.h>
namespace solution {
class program {
 public:
  int main(int argc, char **argr) {
    std::cin >> n;
    for (int i = 0; i < n; i++) {
      std::cin >> str[i];
    }
    len = str[0].length();
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
        if (i == j) continue;
        int tmp = 0;
        for (int k = 0; k < len; k++) {
          if (str[i][k] == str[j][k]) {
            tmp |= (1 << k);
          }
        }
        same[tmp] |= (1ll << i);
        same[tmp] |= (1ll << j);
      }
    }
    for (int i = (1 << len) - 1; i >= 0; i--) {
      for (int j = 0; j < len; j++) {
        if (i & (1 << j)) {
          same[i & ~(1 << j)] |= same[i];
        }
      }
    }
    dp[0] = 1;
    for (int i = 0; i < (1 << len); i++) {
      int tmp = count(i);
      for (int j = 0; j < len; j++) {
        if (!(i & (1 << j))) {
          dp[i | (1 << j)] += dp[i] / (len - tmp);
        }
      }
    }
    ans = 0;
    for (int i = 0; i < (1 << len); i++) {
      ans += dp[i] * count(same[i]);
    }
    std::cout << std::setprecision(15) << std::fixed << ans / n << std::endl;
    return 0;
  }
  int count(long long x) {
    int ans2 = 0;
    while (x) {
      if (x & 1) ans2++;
      x >>= 1;
    }
    return ans2;
  }

 private:
  std::string str[50];
  long double dp[1048576];
  long long same[1048576];
  long double ans;
  int n, len;
};
}  // namespace solution
solution::program theapp;
int main(int argc, char **argr) {
  theapp.main(argc, argr);
  return 0;
}
