#include <bits/stdc++.h>
using namespace std;
int dp[10004];
char s[10004];
int min(int a, int b) { return a < b ? a : b; }
int main() {
  int i, j, n, m, t;
  scanf("%d%d", &n, &m);
  bool flag = 0;
  for (i = 0; i < n; i++) {
    vector<int> v;
    v.resize(1);
    scanf("%s", s);
    for (j = 0; j < m; j++)
      if (s[j] == '1') v.push_back(j);
    if (flag) continue;
    if (v.size() == 1) {
      flag = 1;
      continue;
    }
    v[0] = v.back() - m;
    v.push_back(v[1] + m);
    for (j = 0; j < m; j++) {
      t = lower_bound(v.begin(), v.end(), j) - v.begin();
      dp[j] += min(j - v[t - 1], v[t] - j);
    }
  }
  if (flag) {
    puts("-1");
    return 0;
  }
  int ans = 1 << 29;
  for (j = 0; j < m; j++)
    if (ans > dp[j]) ans = dp[j];
  printf("%d\n", ans);
  return 0;
}
