#include <bits/stdc++.h>
const int maxn = 1000 + 5;
using namespace std;
int n, m;
char str[maxn][maxn];
int used[maxn];
int main() {
  while (cin >> n >> m) {
    int i;
    for (i = 0; i < n; i++) {
      scanf("%s", &str[i]);
    }
    int j;
    int ans = 0;
    memset(used, 0, sizeof(used));
    for (i = 0; i < m; i++) {
      for (j = 0; j < n - 1; j++) {
        if (str[j][i] > str[j + 1][i] && used[j + 1] == 0) {
          ans++;
          break;
        }
      }
      if (j == n - 1) {
        for (j = 1; j < n; j++) {
          if (str[j][i] > str[j - 1][i]) {
            used[j] = 1;
          }
        }
      }
    }
    cout << ans << endl;
  }
  return 0;
}
