func_code_string: #include <bits/stdc++.h>   #pragma comment(linker,  /stack:200000000 )   #pragma GCC optimize( Ofast )   #pragma GCC target( sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native )   using namespace std;   const long long MOD = 1000000007LL, INF = 1e9, LINF = 1e18;   const long double PI = 3.141592653589793116, EPS = 1e-9,                     GOLD = ((1 + sqrt(5)) / 2);   template <class T>   int getbit(T s, int i) {     return (s >> 1) & 1;   }   template <class T>   T onbit(T s, int i) {     return s | (T(1) << i);   }   template <class T>   T offbit(T s, int i) {     return s & (~(T(1) << i));   }   template <class T>   int cntbit(T s) {     return __builtin_popcount(s);   }   string s;   long long n;   vector<long long> cc(26, 0);   void VarInput() {     ios_base::sync_with_stdio(0);     cin.tie(NULL);     cin >> s;     n = s.size();   }   void ProSolve() {     for (long long i = 0; i < n; i++) cc[s[i] -  a ]++;     long long appear = 0, onlyOne = 0;     for (long long i = 0; i < 26; i++) {       if (cc[i] > 0) appear++;       if (cc[i] == 1) onlyOne++;     }     if (appear > 4) {       cout <<  No ;       return;     }     if (appear < 2) {       cout <<  No ;       return;     }     if (appear == 2 && onlyOne > 0) {       cout <<  No ;       return;     }     if (appear == 3 && onlyOne > 2) {       cout <<  No ;       return;     }     cout <<  Yes ;   }   int main() {     VarInput();     ProSolve();   }   