#include <bits/stdc++.h>
using namespace std;
int inf = 1e9;
bool vowel(char c) {
  return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}
int col_min(vector<vector<int> >& dp, int i) {
  int result = inf;
  for (int j = 0; j < 4; j++) {
    result = min(result, dp[i][j]);
  }
  return result;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout << setprecision(12);
  string s;
  cin >> s;
  ;
  int n = s.size();
  vector<vector<int> > dp(n, vector<int>(4, inf));
  ;
  if (vowel(s[0])) {
    dp[0][0] = 0;
  } else {
    dp[0][0] = 1;
    dp[0][1] = 0;
    dp[0][3] = 0;
  }
  for (int i = 1; i < n; i++) {
    if (vowel(s[i])) {
      dp[i][0] = col_min(dp, i - 1);
    } else {
      dp[i][1] = dp[i - 1][0];
      for (int j = 1; j < 4; j++) {
        dp[i][1] = min(dp[i][1], dp[i - 1][j] + 1);
      }
      dp[i][2] = dp[i - 1][1];
      dp[i][3] = dp[i - 1][0];
      dp[i][3] = min(dp[i][3], dp[i - 1][1] + 1);
      dp[i][3] = min(dp[i][3], dp[i - 1][2] + 1);
      if (s[i] == s[i - 1]) {
        dp[i][3] = min(dp[i][3], dp[i - 1][3]);
      } else {
        dp[i][3] = min(dp[i][3], dp[i - 1][3] + 1);
      }
    }
  }
  int curr_min = col_min(dp, n - 1);
  string r;
  r.push_back(s[n - 1]);
  for (int i = n - 2; i >= 0; i--) {
    int prev_min = col_min(dp, i);
    if (prev_min < curr_min) r.push_back(' ');
    r.push_back(s[i]);
    curr_min = prev_min;
  }
  reverse(r.begin(), r.end());
  cout << r << endl;
}
