#include <bits/stdc++.h>
using namespace std;
const int N = 20;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  string s;
  int n;
  cin >> s;
  n = s.size();
  int dp[(1 << N)] = {0};
  for (int gap = 1; gap <= 20; ++gap) {
    int i = 0, j = 0, cur = 0, cnt = 0;
    while (i < n - gap + 1) {
      while (j < n && cnt < gap && !(cur & (1 << (s[j] - 'a')))) {
        cur = cur | (1 << (s[j] - 'a'));
        ++cnt;
        ++j;
      }
      if (cnt == gap) {
        dp[cur] = cnt;
        cur ^= (1 << (s[i] - 'a'));
        ++i;
        --cnt;
      } else if (j < n) {
        while (i < j && s[i] != s[j]) {
          cur ^= (1 << (s[i] - 'a'));
          ++i;
          --cnt;
        }
        cur ^= (1 << (s[i] - 'a'));
        ++i;
        --cnt;
      } else
        i = n;
    }
  }
  for (int i = 0; i < (1 << N); ++i) {
    for (int j = 0; j < N; ++j) {
      dp[i | (1 << j)] = max(dp[i | (1 << j)], dp[i]);
    }
  }
  int ans = 0;
  for (int i = 0; i < (1 << N); ++i) {
    ans = max(ans, dp[i] + dp[(1 << N) - 1 - i]);
  }
  cout << ans << '\n';
  return 0;
}
