func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MAXN = (int)3e3 + 5;   const int INF = (int)1e9;   const string T =  aeiou ;   int dp[MAXN], par[MAXN];   bool space[MAXN];   bool vowel[256];   string s;   int n;   bool bad(char a, char b, char c) {     if (a == b && b == c) {       return 0;     }     if (!vowel[a] && !vowel[b] && !vowel[c]) {       return 1;     }     return 0;   }   void solve() {     cin >> s;     n = s.size();     s =  #  + s;     for (char c : T) {       vowel[c] = 1;     }     for (int i = 1; i <= n; ++i) {       dp[i] = INF;     }     for (int l = 1; l <= n; ++l) {       bool good = 1;       for (int r = l; r <= n; ++r) {         if (r - 2 >= l && bad(s[r - 2], s[r - 1], s[r])) {           good = 0;           break;         }         if (dp[l - 1] + 1 < dp[r]) {           dp[r] = dp[l - 1] + 1;           par[r] = l - 1;         }       }     }     for (int v = n; v > 0; v = par[v]) {       space[v] = 1;     }     for (int i = 1; i <= n; ++i) {       printf( %c , s[i]);       if (space[i]) {         printf(   );       }     }   }   int main() {     int tt = 1;     while (tt--) {       solve();     }     return 0;   }   