#include <bits/stdc++.h>
using namespace std;
class ParseError {};
struct Edge {
  int from, to, cost;
  bool operator<(Edge e) { return cost < e.cost; }
};
int N;
vector<vector<Edge>> G;
vector<int> X;
pair<long long, long long> dfs(int pos, int par) {
  if (pos != 0 && G[pos].size() == 1) {
    return make_pair(0, X[pos]);
  }
  int M = G[pos].size() + (pos == 0 ? 1 : 0);
  vector<vector<bool>> dp(M, vector<bool>(X[pos] + 1, false));
  dp[0][0] = true;
  long long sum = 0;
  int cnt = 0;
  for (int i = (int)(0); i < (int)(G[pos].size()); i++) {
    Edge edge = G[pos][i];
    if (edge.to == par) {
      continue;
    }
    pair<long long, long long> ch = dfs(edge.to, pos);
    if (ch.second < 0) return make_pair(-1, -1);
    sum += ch.first + ch.second;
    for (int j = (int)(0); j < (int)(X[pos] + 1); j++) {
      if (j - ch.first >= 0 && dp[cnt][j - ch.first]) {
        dp[cnt + 1][j] = true;
      }
    }
    for (int j = (int)(0); j < (int)(X[pos] + 1); j++) {
      if (j - ch.second >= 0 && dp[cnt][j - ch.second]) {
        dp[cnt + 1][j] = true;
      }
    }
    cnt++;
  }
  for (int i = (int)(X[pos] + 1) - 1; i >= (int)(0); i--) {
    if (dp[M - 1][i]) {
      return make_pair(min((long long)X[pos], sum - i),
                       max((long long)X[pos], sum - i));
    }
  }
  return make_pair(-1, -1);
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  string s;
  cin >> s;
  int len = 0;
  bool same = true;
  bool vowel = true;
  string ans = "";
  for (int i = (int)(0); i < (int)(s.size()); i++) {
    if (s[i] != 'a' && s[i] != 'i' && s[i] != 'u' && s[i] != 'e' &&
        s[i] != 'o') {
      if (same) {
        if (vowel || s[i] == s[i - 1]) {
          len++;
        } else {
          if (len >= 2) {
            len = 1;
            ans += " ";
            same = true;
          } else {
            len++;
            same = false;
          }
        }
      } else {
        if (len >= 2) {
          len = 1;
          ans += " ";
          same = true;
        } else {
          len++;
          same = false;
        }
      }
      vowel = false;
    } else {
      len = 0;
      same = true;
      vowel = true;
    }
    ans += s[i];
  }
  cout << ans << endl;
  return 0;
}
