#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
int add(int a, int b) {
  long long x = a + b;
  if (x >= 1000000007) x -= 1000000007;
  if (x < 0) x += 1000000007;
  return x;
}
long long mul(long long a, long long b) { return (a * b) % 1000000007; }
long long pw(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans = (ans * a) % 1000000007;
    a = (a * a) % 1000000007;
    b >>= 1;
  }
  return ans;
}
int val[(1 << 20)];
string s;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> s;
  for (int i = 0; i < s.size(); ++i) {
    int msk = 0;
    int poz = i;
    while (poz < s.size() && !(msk & (1 << (s[poz] - 'a')))) {
      msk ^= (1 << (s[poz] - 'a')), ++poz;
      val[msk] = poz - i;
    }
  }
  for (int bit = 0; bit < 20; ++bit)
    for (int j = 0; j < (1 << 20); j++)
      if (j & (1 << bit)) val[j] = max(val[j], val[j ^ (1 << bit)]);
  int ans = 0;
  for (int i = 0; i < (1 << 20); ++i)
    ans = max(ans, val[i] + val[(1 << 20) - i - 1]);
  cout << ans;
  return 0;
}
