#include <bits/stdc++.h>
using namespace std;
const int MAX = 1010;
int n, m;
string s[MAX];
bool ok[MAX];
void wczytaj_dane() {
  cin >> n >> m;
  for (int i = 0; i < (n); i++) cin >> s[i];
}
bool kolumna_ok(int q) {
  for (int i = 0; i < (n - 1); i++)
    if ((!ok[i]) && s[i][q] > s[i + 1][q]) return false;
  return true;
}
void nie_usuwaj_kolumny(int q) {
  for (int i = 0; i < (n - 1); i++)
    if ((!ok[i]) && s[i][q] < s[i + 1][q]) ok[i] = true;
}
int rozwiaz() {
  int licz = 0;
  for (int i = 0; i < (m); i++) {
    if (kolumna_ok(i))
      nie_usuwaj_kolumny(i);
    else
      licz++;
  }
  return licz;
}
void zrob_test() {
  fill(ok, ok + MAX, false);
  wczytaj_dane();
  cout << rozwiaz() << '\n';
}
int main() {
  ios_base::sync_with_stdio(0);
  zrob_test();
  return 0;
}
