func_code_string: #include <bits/stdc++.h>   using namespace std;   #pragma warning(disable : 4996)   #pragma comment(linker,  /STACK:20000007 )   #pragma GCC optimize( unroll-loops )   const int N = (int)1e6 + 100;   const int maxn = (int)1e3 + 100;   const int base = (int)1e9;   const int mod = (int)1e9 + 7;   const int inf = INT_MAX;   const long long ll_inf = LLONG_MAX;   const long double pi = acos((long double)-1.0);   const long double eps = 1e-8;   void yes() { exit(!(printf( YES n ))); }   void no() { exit(!(printf( NO n ))); }   void solve() {     string s;     cin >> s;     int n = s.size();     if (n < 4) no();     set<char> S;     vector<int> Cnt(26);     for (char c : s) Cnt[c -  a ]++, S.insert(c);     int L = S.size();     if (L > 4) no();     if (3 <= L && L <= 4) yes();     if (L == 1) no();     if (L == 2) {       if (!any_of(Cnt.begin(), Cnt.end(),                   [&](int Count) -> bool { return Count >= 2; }))         no();       vector<int> others;       for (int i = 0; i < 26; ++i)         if (Cnt[i] >= 2) others.push_back(i);       if (others.size() >= 2)         yes();       else         no();     }     no();   }   int main() {     int T = 1;     for (; T; --T) solve();     return 0;   }   