func_code_string: #include <bits/stdc++.h>   using namespace std;   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     string s;     cin >> s;     long long n = s.length();     reverse(s.begin(), s.end());     set<string> ans;     vector<bool> dp2(n + 1, 0), dp3(n + 1, 0);     dp2[1] = 1;     dp3[2] = 1;     for (long long i = 3; i < n - 5; ++i) {       dp2[i] = dp3[i - 2] ||                (dp2[i - 2] && !(s[i] == s[i - 2] && s[i - 1] == s[i - 3]));       dp3[i] = dp3[i] || dp2[i - 3];       if (i - 5 >= 0)         dp3[i] =             dp3[i] || (dp3[i - 3] && !(s[i] == s[i - 3] && s[i - 1] == s[i - 4] &&                                        s[i - 2] == s[i - 5]));     }     for (long long i = 0; i < n - 5; ++i) {       if (dp2[i]) {         string temp = s.substr(i - 1, 2);         reverse(temp.begin(), temp.end());         ans.insert(temp);       }       if (dp3[i]) {         string temp = s.substr(i - 2, 3);         reverse(temp.begin(), temp.end());         ans.insert(temp);       }     }     cout << ans.size() <<   n ;     for (string i : ans) cout << i <<   n ;     return 0;   }   