#include <bits/stdc++.h>
using namespace std;
const int N = 3e6 + 10;
int n, cnt, ans = 1;
int nxt[N][30], sum[N], a;
char s[N];
vector <int> e[N];
int dp(int x)
{
int res = 0;
for(int i = 0; i < e[x].size(); i ++)
{
int y = e[x][i];
res += dp(y);
}
ans = max(ans, res + sum[x]);
if(!sum[x]) return 0;
else return res + sum[x];
}
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++)
{
scanf("%s", s);
int ls = strlen(s), u = 0;
for(int i = 0; i < ls; i ++)
{
int c = s[ls - i - 1] - 'a';
if(!nxt[u][c])
{
nxt[u][c] = ++ cnt;
e[u].push_back(cnt);
}
u = nxt[u][c];
}
sum[u] ++;
}
a = dp(0);
cout << ans << endl;
return 0;
}