Why don't you grow up? Why don't you grow up?

In the past week a meme involving the young actor Aaron Bailey became trending in most Brazilian social networks. Entitled "why don't you grow up" it consists in repeating a sentence replacing its vowels with is (it's a bit more complicated than that, I'll explain below). As I want to be a cool guy I decided to write a program that mimimifies a given string.



Challenge

The challenge consists of mimimifying a string, following the rules:


ão and õe should be replaced with im.
ca, ka, que, ke, qui, ki, co ,ko, cu, and ku should be replaced with ki.
ça, ce, çe, ci, çi, ço, and çu should be replaced with ci.
ga, gue, gui, go, and gu should be replaced with gui.
ja, ge, je, gi, ji, jo, and ju should be replaced with ji
You can assume that qua, quo, quu, gua, guo, and guu, will never appear, only a and o can have tildes and if they do they'll be followed by o and e, repsectively (ão, õe).
The only time us are allowed in output strings is gui, besides that case all other vowels present should be is.
In all other circumstances all vowels must be replaced with is.
Other than tilde all other accents may be ignored.
Two or more is in a row are not allowed, you should replace them with only one (Piauiense -> Pinsi)


Examples

Input

Por que você só fala assim?


Output

pir ki vici si fili issim?


Input

Que horas são?


Output

ki hiris sim?


Input

Óculos sem lente pode ser armação


Output

ikilis sim linti pidi sir irmicim


Input

Ganha o código com menos bytes


Output

guinhi i kidigui kim minis bytis


Rules


The vowels are a, e, i, o, and u.
You can see the full list of possible accents here.
code-golf: the shortest code in bytes wins. Check meta if counting bytes is awkward in your language.
Standard loopholes are forbidden
Your output must be consistent in case: all upper/all lower.
You may assume the input to be in whichever encoding you want but if you do you must specify it.


Happy golfing!/Hippy guilfing!
Retina, 150 bytes
[ÀÁÂàáâ]
a
[ÉÊéê]
e
Í|í
i
[ÓÔóô]
o
[ÚÜúü]
u
T`L`l
ão|õe
im
[ck][aou]|qu[ei]|ke
ki
ç[aeiou]|ce
ci
g[aou]|gue
gui
j[aeou]|g[ei]
ji
(gu)i|[aeou]
$1i
ii
i

Try it online!
This is my first Retina program, so there's probably a lot of improvements to make. Suggestions are welcome.
Thanks to Martin for correcting some mistakes and for some golfing suggestions.
Explanation
I'm going to break up the explanation into 3 sections, to make it easier on me.
Section 1: Preprocessing
[ÀÁÂàáâ]
a
[ÉÊéê]
e
Í|í
i
[ÓÔóô]
o
[ÚÜúü]
u
T`L`l

The first 5 rules replace any accented vowel with the corresponding unaccented version. It's shorter to list out the matches in character classes (or, in the third case, as two options) than to use the culture-invariance and case-insentivity options each time. The last rule converts all ASCII letters to lowercase.
Section 2: Mimimification
ão|õe
im
[ck][aou]|qu[ei]|ke
ki
ç[aeiou]|ce
ci
g[aou]|gue
gui
j[aeou]|g[ei]
ji

These rules simply apply the substitutions specified.
Section 3: Cleanup
(gu)i|[aeou]
$1i
i+
i

The first rule matches any vowel except for the u in gui, and replaces them with is. The second rule removes repeated is.