#include <bits/stdc++.h>
using namespace std;
int n, m;
string s[2000];
string t[2000];
int main() {
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> s[i];
  for (int j = 0; j < m; j++) {
    bool flag = true;
    for (int i = 0; i < n - 1; i++) {
      if (s[i][j] > s[i + 1][j]) {
        flag = false;
        break;
      }
    }
    if (flag) {
      for (int i = 0; i < n; i++) t[i] += s[i][j];
      for (int k = j + 1; k < m; k++) {
        flag = true;
        for (int f = 0; f < n - 1; f++)
          if (t[f] + s[f][k] > t[f + 1] + s[f + 1][k]) {
            flag = false;
            break;
          }
        if (flag) {
          for (int f = 0; f < n; f++) t[f] += s[f][k];
        }
      }
      break;
    }
  }
  cout << m - t[0].length();
  return 0;
}
