#include <iostream>
#include <cstring>
using namespace std;
const int MAX_SIZE = 2000;
bool isLetter(char c) {
return ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z');
}
void changeLetter(char text[], const int firstPos, const int numOfLetters, const int numOfWords) {
if (numOfWords <= numOfLetters) {
text[firstPos + numOfLetters - 1] = 'a';
} else {
text[firstPos] = 'a';
}
}
void modifyText(char text[], int &numOfWords) {
int firstPos = 0, textLength = strlen(text);
int numOfLetters = 0;
bool prevLetter = false;
for (int i = 0; i <= textLength; ++i) {
if (isLetter(text[i])) {
++numOfLetters;
if (prevLetter == false) {
++numOfWords;
firstPos = i;
}
prevLetter = true;
} else if (prevLetter) {
changeLetter(text, firstPos, numOfLetters, numOfWords);
numOfLetters = 0;
prevLetter = false;
}
}
}
int main() {
char text[MAX_SIZE + 1];
int numOfWords = 0;
while (cin.getline(text, MAX_SIZE + 1)) {
modifyText(text, numOfWords);
cout << text << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhfU0laRSA9IDIwMDA7Cgpib29sIGlzTGV0dGVyKGNoYXIgYykgewoJcmV0dXJuICgnQScgPD0gYyAmJiBjIDw9ICdaJykgfHwgKCdhJyA8PSBjICYmIGMgPD0gJ3onKTsKfQoKdm9pZCBjaGFuZ2VMZXR0ZXIoY2hhciB0ZXh0W10sIGNvbnN0IGludCBmaXJzdFBvcywgY29uc3QgaW50IG51bU9mTGV0dGVycywgY29uc3QgaW50IG51bU9mV29yZHMpIHsKICAgIGlmIChudW1PZldvcmRzIDw9IG51bU9mTGV0dGVycykgewogICAgICAgIHRleHRbZmlyc3RQb3MgKyBudW1PZkxldHRlcnMgLSAxXSA9ICdhJzsKICAgIH0gZWxzZSB7CiAgICAgICAgdGV4dFtmaXJzdFBvc10gPSAnYSc7IAogICAgfQp9Cgp2b2lkIG1vZGlmeVRleHQoY2hhciB0ZXh0W10sIGludCAmbnVtT2ZXb3JkcykgewogICAgaW50IGZpcnN0UG9zID0gMCwgdGV4dExlbmd0aCA9IHN0cmxlbih0ZXh0KTsKICAgIGludCBudW1PZkxldHRlcnMgPSAwOwogICAgYm9vbCBwcmV2TGV0dGVyID0gZmFsc2U7CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSB0ZXh0TGVuZ3RoOyArK2kpIHsKICAgICAgICBpZiAoaXNMZXR0ZXIodGV4dFtpXSkpIHsKICAgICAgICAgICAgKytudW1PZkxldHRlcnM7CiAgICAgICAgICAgIGlmIChwcmV2TGV0dGVyID09IGZhbHNlKSB7CiAgICAgICAgICAgIAkrK251bU9mV29yZHM7CiAgICAgICAgICAgICAgICBmaXJzdFBvcyA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcHJldkxldHRlciA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChwcmV2TGV0dGVyKSB7CiAgICAgICAgICAgIGNoYW5nZUxldHRlcih0ZXh0LCBmaXJzdFBvcywgbnVtT2ZMZXR0ZXJzLCBudW1PZldvcmRzKTsKICAgICAgICAgICAgbnVtT2ZMZXR0ZXJzID0gMDsKICAgICAgICAgICAgcHJldkxldHRlciA9IGZhbHNlOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBjaGFyIHRleHRbTUFYX1NJWkUgKyAxXTsKICAgIGludCBudW1PZldvcmRzID0gMDsKICAgIHdoaWxlIChjaW4uZ2V0bGluZSh0ZXh0LCBNQVhfU0laRSArIDEpKSB7CiAgICAgICAgbW9kaWZ5VGV4dCh0ZXh0LCBudW1PZldvcmRzKTsKICAgICAgICBjb3V0IDw8IHRleHQgPDwgJ1xuJzsKICAgIH0KICAgIHJldHVybiAwOwp9