#include <bits/stdc++.h>
using namespace std;
const int N = (1 << 20) - 1;
const long double pi = acos(-1.0);
int n, f[N + 10], g[N + 10], bin[N + 10], cnt[30];
char s[N + 10];
int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while ((ch < '0') || (ch > '9')) {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while ((ch >= '0') && (ch <= '9')) {
    x = x * 10 + (ch - '0');
    ch = getchar();
  }
  return x * f;
}
int main() {
  scanf("%s", s + 1);
  int n = strlen(s + 1);
  for (int i = 1; i <= n; ++i) {
    int sta = 0;
    memset(cnt, 0, sizeof(cnt));
    for (int j = i; j <= n; ++j) {
      if (cnt[s[j] - 'a']) break;
      sta |= (1 << (s[j] - 'a'));
      cnt[s[j] - 'a']++;
      f[sta] = 1;
    }
  }
  for (register int i = 1; i <= N; i++) bin[i] = bin[i >> 1] + (i & 1);
  for (register int sta = 1; sta <= N; sta++) {
    if (f[sta]) g[sta] = bin[sta];
    for (register int i = 1; i <= 20; i++)
      if ((sta >> (i - 1)) & 1) g[sta] = max(g[sta], g[sta ^ (1 << (i - 1))]);
  }
  int ans = 0;
  for (register int i = 0; i <= N; i++) ans = max(ans, g[i] + g[N ^ i]);
  cout << ans;
  return 0;
}
