#include <bits/stdc++.h>
using namespace std;
int n, m, bin[60], num[1100000];
char ch[60][25];
long long d[1100000];
double dp[1100000], ans = 0;
int main() {
  scanf("%d", &n);
  bin[0] = 1;
  for (int i = 1; i <= 20; ++i) bin[i] = bin[i - 1] << 1;
  for (int i = 1; i <= n; ++i) scanf("%s", ch[i] + 1);
  m = strlen(ch[1] + 1);
  if (n == 1) {
    printf("%.9f\n", 0.0);
    return 0;
  }
  for (int i = 1; i <= n; ++i)
    for (int j = i + 1; j <= n; ++j) {
      long long s = 0;
      for (int k = 1; k <= m; ++k)
        if (ch[i][k] == ch[j][k]) s |= bin[k - 1];
      d[s] |= (1LL << i) | (1LL << j);
    }
  for (int s = bin[m] - 1; s >= 1; --s)
    for (int i = 0; i < m; ++i)
      if (s & bin[i]) d[s ^ bin[i]] |= d[s];
  for (int s = 0; s <= bin[m] - 1; ++s)
    for (int i = 1; i <= n; ++i)
      if (d[s] & (1LL << i)) num[s]++;
  dp[bin[m] - 1] = 0;
  for (int s = bin[m] - 2; s >= 0; --s) {
    if (!num[s]) {
      dp[s] = 0;
      continue;
    }
    int tot = m;
    for (int i = 0; i < m; ++i)
      if (s & bin[i]) tot--;
    for (int i = 0; i < m; ++i) {
      if (s & bin[i]) continue;
      dp[s] += dp[s | bin[i]] * 1.0 / tot * num[s | bin[i]] / num[s];
    }
    dp[s] += 1;
  }
  printf("%.9f\n", dp[0]);
  return 0;
}
