#include <bits/stdc++.h>
using namespace std;
int n, mrk[110];
string arr[110];
set<char> qt[110];
map<int, char> m;
int main() {
  cin.sync_with_stdio(0);
  cin >> n;
  for (int i = 0; i < n; i++) {
    mrk[i] = true;
    cin >> arr[i];
    int sz = arr[i].size();
    for (int j = 0; j < sz; j++) qt[i].insert(arr[i][j]);
    if (qt[i].size() > 2) mrk[i] = false;
  }
  for (int i = 0; i < 26; i++) m[i] = char(i + 97);
  int ans = 0;
  for (int i = 0; i < 26; i++) {
    for (int j = 0; j < 26; j++) {
      if (i == j) continue;
      int cmp = 0;
      for (int k = 0; k < n; k++) {
        if (!mrk[k]) continue;
        if (qt[k].size() == 2) {
          if (qt[k].find(m[i]) == qt[k].end() ||
              qt[k].find(m[j]) == qt[k].end())
            continue;
          cmp += arr[k].size();
          continue;
        }
        if (qt[k].size() == 1) {
          if (qt[k].find(m[i]) != qt[k].end() ||
              qt[k].find(m[j]) != qt[k].end())
            cmp += arr[k].size();
        }
      }
      ans = max(ans, cmp);
    }
  }
  cout << ans << endl;
}
