#include<bits/stdc++.h>
using namespace std;
int cnt=0;
string s,ans,ans1,ans2;
bool check(char t){
return ((t<='z'&&t>='a')||(t<='Z'&&t>='A'));
}
bool checkyy(char t){
if(t=='a'||t=='e'||t=='i'||t=='o'||t=='u'||t=='A'||t=='E'||t=='I'||t=='O'||t=='U')return true;
return false;
}
char p(char t){
if(check(t)){
cnt++;
return '.';
}
return t;
}
int main(){
getline(cin,s);
int sz=s.size();
ans.resize(sz);
ans1.resize(sz);
transform(s.begin(),s.end(),ans.begin(),p);
cout<<ans<<'\n';
int n=round(double(cnt)/3),cnt1=0;
ans1=ans;
for(int i=0;cnt1<n&&i<sz;i++){
if(ans[i]=='.'&&check(s[i]))cnt1++;
ans1[i]=s[i];
}
cout<<ans1<<'\n';
ans2=ans1;
int cnt2=0;
for(int i=n;i<sz;i++){
if(checkyy(s[i])){
ans2[i]=s[i];
cnt2++;
}
}
if(cnt2!=0){
cout<<ans2;
return 0;
}
else cnt2=0;
int k=round(double(cnt)/3*2);
for(int i=0;cnt2<k&&i<sz;i++){
if(check(s[i]))cnt2++;
ans2[i]=s[i];
}
cout<<ans2;
return 0;
}