#include <bits/stdc++.h>
using namespace std;
long long int pos[26][26];
long long int ct[26];
int main() {
  string a;
  cin >> a;
  for (int i = 0; i < a.length(); i++) {
    int c = a[i] - 'a';
    for (int j = 0; j < 26; j++) {
      pos[j][c] += ct[j];
    }
    ct[c]++;
  }
  long long int ans = 0;
  if (a.length() == 1) {
    printf("1");
    return 0;
  } else {
    for (int i = 0; i < 26; i++) ans = max(ans, ct[i]);
    for (int i = 0; i < 26; i++)
      for (int j = 0; j < 26; j++) ans = max(ans, pos[i][j]);
  }
  cout << ans;
  return 0;
}
