#include <bits/stdc++.h>
#pragma GCC optimize("O3")
const double PI = acos(-1);
using namespace std;
char word[3 << 10];
int dp[3 << 10], n;
bool isVowel(char c) {
  string vowels = "aeiou";
  for (char x : vowels)
    if (x == c) return 1;
  return 0;
}
int nxt[3000];
int solve(int pos) {
  if (pos == n) return 0;
  if (dp[pos] != -1) return dp[pos];
  int& ret = dp[pos];
  ret = 1 << 29;
  nxt[pos] = pos + 1;
  int ctr = 0, len = 0;
  set<char> used;
  for (int i = pos, ctr = 0; i < n; i++) {
    int tmp = 0;
    if (isVowel(word[i])) {
      tmp = solve(i + 1) + 1;
      ctr = 0;
      len = 0;
      used.clear();
    } else {
      len++;
      ctr += used.find(word[i]) == used.end();
      used.insert(word[i]);
      if (len >= 3 && ctr >= 2) break;
      tmp = solve(i + 1) + 1;
    }
    if (tmp < ret) {
      ret = tmp;
      nxt[pos] = i + 1;
    }
  }
  return ret;
}
int main() {
  cin >> word;
  n = strlen(word);
  memset(dp, -1, sizeof dp);
  cerr << solve(0) << endl;
  int pos = 0;
  while (pos != n) {
    int r = nxt[pos];
    for (; pos < r; pos++) putchar(word[pos]);
    putchar(' ');
  }
  return 0;
}
