Існує невелика гра з імпровізованою розминкою, де ви розташуєте себе по колу і надішліть блискавки, запс і прокручування, вказуючи на людину і вимовляючи наступне слово в послідовності, тоді вони роблять те саме, поки всі ви не розігрілися або що завгодно.
Ваше завдання - створити програму, яка дає наступне слово в послідовності, заданому вхідним словом. (Zip -> Zap -> Zop -> Zip) Оскільки існує багато різних способів вимовити ці три слова та відтінки, які можна додати до них, у вашій програмі слід імітувати дублювання букв та букв та містити суфікси.
Щоб уточнити, ваш вхід буде одним або декількома Zs, потім одним або декількома Is, As або Os (все та сама буква), потім одним або декількома Ps (всі букви до цього моменту можуть бути в змішаному регістрі), а потім якийсь довільний суфікс (який може бути порожнім). Ви повинні залишити пробіли Zs і Ps, а також суфікс точно так, як отримано, але потім змінити Is на As, As на Os або Os на Is, зберігаючи регістр на кожному кроці.
Приклади тестових випадків
zip ==> zap
zAp ==> zOp
ZOP ==> ZIP
ZiiP ==> ZaaP
ZZaapp ==> ZZoopp
zzzzOoOPppP ==> zzzzIiIPppP
Zipperoni ==> Zapperoni
ZAPsky ==> ZOPsky
ZoPtOn ==> ZiPtOn
zipzip ==> zapzip
zapzopzip ==> zopzopzip
zoopzaap ==> ziipzaap
Правила та примітки
- Ви можете використовувати будь-яке зручне кодування символів для введення та виводу за умови, що воно підтримує всі літери ASCII і що воно було створене до цього виклику.
- Ви можете припустити, що вхідним словом є якийсь варіант Zip, Zap або Zop. Усі інші входи призводять до невизначеної поведінки.
- Дійсні введення повністю відповідають регулярному вираженню
Z+(I+|A+|O+)P+.*(у змішаному випадку)
- Дійсні введення повністю відповідають регулярному вираженню
Щасливого гольфу!
zі першими p. Суфікс може містити що завгодно.