func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   const int mod = 1e9 + 7, oo = 1e9;   const ll loo = 1e18;   ll modpow(ll a, ll b) {     ll ans = 1;     for (; b; b /= 2, a = a * a % mod)       if (b & 1) ans = (ans * a) % mod;     return ans;   }   ll gcd(ll a, ll b) {     while (a) b %= a, swap(a, b);     return b;   }   const bool DEBUG = 1;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     string s;     cin >> s;     int n = s.length();     int pre[n][3];     for (int i = 0; i < n; i++) {       for (int j = 0; j < 3; j++) pre[i][j] = i ? pre[i - 1][j] : -oo;       pre[i][s[i] -  a ] = i;     }     stringstream ss;     int i = 0, j = n - 1;     int cnt = 0;     while (i <= j) {       int jj = pre[j][s[i] -  a ];       if (jj - i >= 0 && (jj - i - 1) / 2 + cnt + (1 + (i != jj)) >= n / 2) {         j = jj - 1;         cnt += 1 + (i != jj);         ss << s[i];       }       i++;     }     string t = ss.str();     string r;     if (cnt & 1)       r = t.substr(0, t.length() - 1);     else       r = s.substr(0, t.length());     reverse(r.begin(), r.end());     cout << t << r << endl;     return 0;   }   