#include <stdio.h>
#include <string.h>

bool less(char *a,char *b)
{
	int i=0;
	while ((a[i]!=0) && (b[i]!=0) && (a[i]==b[i]))
		i++;
	return a[i]<b[i];
}
void sort(char **a, int n)
{
	int i;
	char temp[30];
	bool ok = false;
	while (!ok)
	{
		ok=true;
		for (i=0;i<n-1;i++)
			if (less(a[i+1],a[i]))
			{
				ok=false;
				strcpy(temp,a[i]);
				strcpy(a[i],a[i+1]);
				strcpy(a[i+1],temp);
			}
}	
}
bool equal(char *a,char *b)
{
	int i=0;
	while ((a[i]!=0) && (b[i]!=0) && (a[i]==b[i]))
		i++;
	return a[i]==b[i];
}
int count(char **a,char **b,int n)
{
	int k=0,i;
	for (i=0;i<n;i++)
		if (equal(a[i],b[i]))
			k++;
	return k;
}
int main()
{
	FILE *f;
	char **a,**b;
	a = new char*[1000];
	for (int i=0;i<1000;i++) a[i] = new char[30];
	b = new char*[1000];
	for (int i=0;i<1000;i++) b[i] = new char[30];
	int i,n;
	f = fopen("spisak.in","r");
	fscanf(f,"%d",&n);
	fgets(a[0],30,f);
	for (i=0;i<n;i++)
		fgets(a[i],30,f);
	fclose(f);
	for (i=0;i<n;i++)
		strcpy(b[i],a[i]);
	sort(b,n);
	f = fopen("spisak.out","w");
	fprintf(f,"%d\n",n-count(a,b,n));
	fclose(f);
	return 0;
}