//Duluxan Sritharan
//Woburn Collegiate Institute - Senior Division
//ACSL Problem 3 - Swedish Chef
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<vector>
using namespace std;
const int SIZE = 1000;
bool ok[SIZE];
vector<string> v;
string s;
void gfunc(int start, int end, char o, string n){
for (int a
= start; a < end; a++){
if (s[a] == o && ok[a]){
v[a] = n;
ok[a] = false;
}
}
}
void enfunc(){
int a, b;
if
(s.length() > 1){
a = s.length()-2;
b = s.length()-1;
if (s[a] == 'E' && s[b] ==
'N' && ok[a] && ok[b]){
ok[a] = ok[b] = false;
v[a] = "E";
v[b] = "E";
}
}
return;
}
void ifunc(){
for (int a
= 1; a < s.length(); a++){
if (s[a] == 'I' && ok[a]){
v[a] = "EE";
ok[a] = false;
return;
}
}
return;
}
void blind(string o, string n){
int a, b;
bool match;
int i =
s.length();
int j =
o.length();
for (a =0;
a <= i-j; a++){
if (ok[a]){
match = true;
for (b = 0; b < j; b++){
if
(s[a+b] != o[b])
match = false;
}
if (match){
for
(b = 0; b < n.length(); b++){
v[a+b] = n[b];
ok[a+b] = false;
}
}
}
}
return;
}
int main(){
istringstream
iss;
string
orig, final, hold;
char temp;
bool period
= false;
int a, b, t
= 5;
ifstream
infile("chef.in");
while(t--){
orig = "";
getline(infile, orig, '\n');
final = "";
iss.clear();
iss.str(orig);
while (iss >> s){
v.clear();
fill(ok, ok+SIZE, true);
period = false;
for (a = 0; a < s.length(); a++){
hold
= s[a];
v.push_back(hold);
}
temp = s[s.length()-1];
if (temp < 'A' || temp > 'Z'){
s.erase(s.length()-1,
1);
}
blind("THE",
"ZEE");
blind("AN",
"UN");
blind("AU",
"OO");
gfunc(0, s.length()-1, 'A',
"E");
blind("OW",
"OO");
blind("O", "U");
blind("IR",
"UR");
blind("TION",
"SHUN");
ifunc();
enfunc();
gfunc(0, s.length(), 'F',
"FF");
gfunc(s.length()-1, s.length(), 'E',
"E-A");
gfunc(1, s.length(), 'U',
"OO");
blind("V", "F");
blind("W", "V");
for (a = 0; a < v.size(); a++){
final+=v[a];
}
final+= " ";
}
cout << final <<
"BORK BORK BORK!\n";
}
infile.close();
return 0;
}