func_code_string: #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;   }   