#include <bits/stdc++.h>
using namespace std;
int n;
string data[50];
string move(int idx, int m) {
  string tmp;
  int s = data[idx].size();
  for (int i = 0; i < data[idx].size(); i++) {
    tmp.push_back(data[idx][(i + m) % s]);
  }
  return tmp;
}
int moves(string &std, int idx) {
  for (int i = 0; i < data[idx].size(); i++) {
    bool good = true;
    for (int j = 0; j < data[idx].size(); j++) {
      if (data[idx][(j + i) % data[idx].size()] != std[j]) {
        good = false;
        break;
      }
    }
    if (good) return i;
  }
  return -1;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> data[i];
  }
  const int inf = 999999999;
  int best = inf;
  for (int i = 0; i < data[0].size(); i++) {
    string std = move(0, i);
    int s = i;
    for (int j = 1; j < n; j++) {
      int x = moves(std, j);
      if (x == -1) {
        cout << -1 << endl;
        return 0;
      }
      s += x;
    }
    best = min(best, s);
  }
  cout << best << endl;
}
