#include <bits/stdc++.h>
using namespace std;
inline void solve() {
  int n, m;
  cin >> n >> m;
  vector<vector<int>> v(n, vector<int>(m));
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++) cin >> v[i][j];
  vector<int> st;
  for (int i = 0; i < (n); i++) st.push_back(1 + (i * m));
  int otv = 0;
  for (int i = 0; i < (m); i++) {
    vector<int> sd(n, 0);
    for (int j = 0; j < (n); j++) {
      auto lb = lower_bound(st.begin(), st.end(), v[j][i]);
      if (lb == st.end() || *lb != v[j][i]) continue;
      int ind = lb - st.begin();
      if (j >= ind)
        sd[j - ind]++;
      else
        sd[n - ind + j]++;
    }
    int o = 2000000000;
    for (int j = 0; j < (n); j++) o = min(o, j + n - sd[j]);
    otv += o;
    for (int j = 0; j < (n); j++) st[j]++;
  }
  cout << otv;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  solve();
}
