#include <bits/stdc++.h>
using namespace std;
int count_on(int mask) {
  int ans = 0;
  while (mask) {
    if (mask & 1) {
      ans++;
    }
    mask >>= 1;
  }
  return ans;
}
int dp[1 << 20];
string bin(int mask) {
  string str = "";
  while (mask) {
    if (mask & 1) {
      str += ("1");
    } else {
      str += ("0");
    }
    mask >>= 1;
  }
  reverse(str.begin(), str.end());
  if (str == "") {
    str = "0";
  }
  return str;
}
int main() {
  string str;
  cin >> str;
  vector<int> masks;
  int N = str.size();
  for (int i = 0; i < N; i++) {
    int mask = 0;
    for (int j = 0; i + j < N && j < 20; j++) {
      int dig = str[i + j] - 'a';
      if (mask & (1 << dig)) {
        break;
      }
      mask |= (1 << dig);
      masks.push_back(mask);
      dp[mask] = count_on(mask);
    }
  }
  for (int i = 0; i < (1 << 20); i++) {
    for (int j = 0; j < 20; j++) {
      if (i & (1 << j)) {
        dp[i] = max(dp[i], dp[i ^ (1 << j)]);
      }
    }
  }
  int best = 0;
  for (auto mask : masks) {
    int ans = dp[mask] + dp[((1 << 20) - 1) ^ mask];
    best = max(best, ans);
  }
  cout << best << endl;
  return 0;
}
