#include <bits/stdc++.h>
using namespace std;
const long long N = 5e6 + 7;
const long long mod = 1e9 + 7;
char s[N];
int dp[N], f[N], len[N];
bool vis[N];
int main() {
  scanf("%s", s);
  int sz = strlen(s);
  for (int i = 0; i < 1 << (20); i++) {
    for (int j = 0; j < 20; j++) {
      if (i & (1 << j)) len[i]++;
    }
  }
  for (int i = 0; i < sz; i++) {
    for (int j = 0; j < 20; j++) vis[j] = false;
    int now = 0;
    for (int j = 0; j < 20 && (i + j < sz); j++) {
      if (vis[s[i + j] - 'a']) break;
      vis[s[i + j] - 'a'] = true;
      now += 1 << (s[i + j] - 'a');
      dp[now] = len[now];
      f[now] = len[now];
    }
  }
  for (int i = 0; i < 20; i++) {
    for (int j = 0; j < (1 << 20); j++) {
      if (j & (1 << i)) dp[j] = max(dp[j], dp[j - (1 << i)]);
    }
  }
  int ans = 0;
  for (int i = 0; i < (1 << 20); i++) {
    ans = max(ans, f[i] + dp[(1 << 20) - 1 - i]);
  }
  printf("%d\n", ans);
}
