#include <bits/stdc++.h>
int n, len;
char s[51][102], t[51][102];
bool check() {
  int i, j;
  for (j = 2; j <= n; j++) {
    if (strcmp(t[1], t[j]) == 0) continue;
    for (i = 0; i < len - 1; i++) {
      t[j][len + i] = t[j][i];
      if (strcmp(t[1], t[j] + i + 1) == 0) break;
    }
    if (i == len - 1) return false;
  }
  return true;
}
void rev() {
  int i;
  for (i = 2; i <= n; i++) strcpy(t[i], s[i]);
}
int main() {
  scanf("%d", &n);
  int i, j, k;
  for (i = 1; i <= n; i++) scanf("%s", s[i]), strcpy(t[i], s[i]);
  len = strlen(s[1]);
  if (!check()) {
    printf("-1");
    return 0;
  }
  rev();
  int c, ans = 0;
  for (j = 2; j <= n; j++) {
    if (strcmp(t[1], t[j]) == 0) continue;
    for (i = 0; i < len - 1; i++) {
      t[j][len + i] = t[j][i];
      ++ans;
      if (strcmp(t[1], t[j] + i + 1) == 0) break;
    }
  }
  for (i = 0; i < len - 1; i++) {
    rev();
    t[1][len + i] = t[1][i];
    c = i + 1;
    for (j = 2; j <= n; j++) {
      if (strcmp(t[1] + i + 1, t[j]) == 0) continue;
      for (k = 0; k < len - 1; k++) {
        t[j][len + k] = t[j][k];
        t[j][len + k + 1] = 0;
        ++c;
        if (strcmp(t[1] + i + 1, t[j] + k + 1) == 0) break;
      }
    }
    if (ans > c) ans = c;
  }
  printf("%d", ans);
  return 0;
}
