#include <iostream>
#include <cctype>
void output_words(std::ostream& _out, const char* s){
int m = 0, n = 0;
char t, c = '\0';
do {
if(! isalpha(*s)){
if((m > 1) && (m == n)){
_out.write(s - m, m);
_out << std::endl;
}
c = '\0';
n = m = 0;
} else {
t = toupper(*s);
m += (int)(t >= c);
c = t;
++n;
}
} while(*s++ != '\0');
_out.flush();
}
int main(void){
char s[] = "Abc def cba AbCdEfff AXBCZ (OPS) Xyz A AD";
output_words(std::cout, s);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2N0eXBlPgoKdm9pZCBvdXRwdXRfd29yZHMoc3RkOjpvc3RyZWFtJiBfb3V0LCBjb25zdCBjaGFyKiBzKXsKCWludCAgbSA9IDAsIG4gPSAwOwoJY2hhciB0LCBjID0gJ1wwJzsKCWRvIHsKCQlpZighIGlzYWxwaGEoKnMpKXsKCQkJaWYoKG0gPiAxKSAmJiAobSA9PSBuKSl7CgkJCQlfb3V0LndyaXRlKHMgLSBtLCBtKTsKCQkJCV9vdXQgPDwgc3RkOjplbmRsOwoJCQl9CgkJCWMgPSAnXDAnOwoJCQluID0gbSA9IDA7CgkJfSBlbHNlIHsKCQkJdCAgPSB0b3VwcGVyKCpzKTsKCQkJbSArPSAoaW50KSh0ID49IGMpOwoJCQljICA9IHQ7CgkJCSsrbjsKCQl9Cgl9IHdoaWxlKCpzKysgIT0gJ1wwJyk7CgoJX291dC5mbHVzaCgpOwp9CgoKaW50IG1haW4odm9pZCl7CgljaGFyIHNbXSA9ICJBYmMgZGVmIGNiYSBBYkNkRWZmZiBBWEJDWiAoT1BTKSBYeXogQSBBRCI7CglvdXRwdXRfd29yZHMoc3RkOjpjb3V0LCBzKTsKCXJldHVybiAwOwp9