#include <bits/stdc++.h>
int cnt;
std::string str, s2;
const std::unordered_set<char> set({'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'});
int count_yuan() {
int res = 0;
for (int i = 0; i < s2.size(); ++i) {
if (set.find(s2[i]) != set.end()) ++res;
}
return res;
}
void ask1() {
for (auto ch : str) {
if (isalpha(ch)) std::cout << '.', ++cnt;
else std::cout << ch;
}
std::cout << std::endl;
}
void ask2() {
int t = round(cnt / 3.0), p = 0;
for (auto ch : str) {
if (isalpha(ch)) {
if (p < t) std::cout << ch, ++p, s2.push_back(ch);
else std::cout << '.', s2.push_back('.');
} else std::cout << ch, s2.push_back(ch);
}
std::cout << std::endl;
}
void ask3() {
int y = count_yuan();
if (y) {
for (int i = 0; i < str.size(); ++i) {
if (s2[i] != '.') std::cout << s2[i];
else if (set.find(str[i]) != set.end()) std::cout << str[i];
else std::cout << '.';
}
std::cout << std::endl;
} else {
int t = round(cnt * 2 / 3.0), p = 0;
for (auto ch : str) {
if (isalpha(ch)) {
if (p < t) std::cout << ch, ++p;
else std::cout << '.';
} else std::cout << ch;
}
std::cout << std::endl;
}
}
int main() {
std::getline(std::cin, str);
ask1(), ask2(), ask3();
return 0;
}