#include<iostream>
#include<string>
#include <vector>
using namespace std;
typedef vector<string> vs;
typedef vector<bool> vb;
int main()
{
int n,m,i,j,k,c=0,x=0,f=0;
string s;
cin>>n>>m;
vs data;
for(i=1;i<=n;i++)
{
cin>>s;
data.push_back(s);
}
if(n==0||m==0) cout<<"0\n";
else
{
for(i=0;i<m;i++)
{
f=0;
for(j=0;j<n-1;j++)
{
if(data[j][i]>data[j+1][i])
{
if(x==i)
{
c++;
f=1;
x=i+1;break;
}
else
if(data[j][x]==data[j+1][x])
{
c++;f=1;break;
}
}
}
if(f==0) x=i;
}
cout<<c<<endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiB2ZWN0b3I8c3RyaW5nPiB2czsKdHlwZWRlZiB2ZWN0b3I8Ym9vbD4gdmI7CmludCBtYWluKCkKewogICAgaW50IG4sbSxpLGosayxjPTAseD0wLGY9MDsKICAgIHN0cmluZyBzOwogICAgY2luPj5uPj5tOwogICAgdnMgZGF0YTsKICAgIGZvcihpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgY2luPj5zOwogICAgICAgIGRhdGEucHVzaF9iYWNrKHMpOwogICAgfQogICAgaWYobj09MHx8bT09MCkgIGNvdXQ8PCIwXG4iOwogICAgZWxzZQogICAgewogICAgZm9yKGk9MDtpPG07aSsrKQogICAgewogICAgICAgZj0wOwogICAgICAgZm9yKGo9MDtqPG4tMTtqKyspCiAgICAgICB7CiAgICAgICAgICAgaWYoZGF0YVtqXVtpXT5kYXRhW2orMV1baV0pCiAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoeD09aSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgYysrOwogICAgICAgICAgICAgICAgICAgICBmPTE7CiAgICAgICAgICAgICAgICAgICAgIHg9aSsxO2JyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhW2pdW3hdPT1kYXRhW2orMV1beF0pCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjKys7Zj0xO2JyZWFrOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgIGlmKGY9PTApIHg9aTsKICAgIH0KICAgIGNvdXQ8PGM8PGVuZGw7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKCiAgICAgICAgICAgICAgICAK