#include <bits/stdc++.h>
using namespace std;
int const oo = 1e9 + 7;
int n, res = 0, m;
string s;
bool ch(int x, int bit) { return ((x >> bit) & 1); }
int a[1000050];
int dd[1000050 * 10];
int ft[1000050][25], fs[1000050][25];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> s;
  n = s.size();
  for (int i = 1; i <= n; ++i) {
    a[i] = s[i - 1] - 'a';
  }
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= i; ++j) {
      if (!ch(ft[i][j - 1], a[i - j + 1])) {
        ft[i][j] = ft[i][j - 1] + (1 << a[i - j + 1]);
        dd[ft[i][j]] = j;
      } else
        break;
    }
  }
  for (int i = 0; i <= (1 << (20)) - 1; ++i) {
    for (int j = 0; j <= 19; ++j) {
      if (ch(i, j)) {
        dd[i] = max(dd[i], dd[i - (1 << j)]);
      }
    }
  }
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= 20; ++j) {
      int res1 = res;
      res = max(res,
                dd[ft[i][j] ^ ((1 << 20) - 1)] + __builtin_popcount(ft[i][j]));
      if (res1 != res) {
      }
    }
  }
  cout << res;
}
