#include <bits/stdc++.h>
using namespace std;
const int M = 3e5 + 1;
vector<string> s[M];
int main()
{
ios::sync_with_stdio(0);
cin.tie(NULL), cout.tie(NULL);
int n;
cin>>n;
map<string,int> mp[2];
for (int i=0;i<n;i++)
{
string t;
cin>>t;
s[(int)t.size()].push_back(t);
}
for (string t:s[1])
mp[1][t]=s[1].size();
int ans=s[1].size();
for (int i=2;i<M;i++)
{
mp[i%2].clear();
for (string t:s[i])
{
string t1=t.substr(1,i-1);
mp[1-i%2][t1]++;
}
for (string t:s[i])
mp[i%2][t]=mp[1-i%2][t.substr(1,i-1)], ans=max(ans,mp[i%2][t]);
}
cout<<ans<<endl;
return 0;
}