#include <iostream>
#include <cctype>
char * del_even_words( char * s) {
int i = 1 ;
char * a, * p, * t = s;
for ( p = s; * s; * s = * p) {
if ( ! std:: isalpha ( * p) ) {
if ( * p == '.' || * p == '!' || * p == '?' )
i = 1 ;
++ s;
} else {
a = p;
while ( std:: isalpha ( * a) )
++ a;
if ( ( i & 1 ) == 0 )
p = a;
else {
while ( p ! = a)
* s++ = * p++ ;
}
++ i;
continue ;
}
++ p;
}
return t;
}
int main( void ) {
char s[ ] = "one two three! one two three four five.\n " \
"{one} {two} {three} {four} {five} {six}...\n " \
"Fox, dog, cat, bat!!!\n " ;
std:: cout << s << std:: endl ;
std:: cout << del_even_words( s) << std:: endl ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2N0eXBlPgoKY2hhciogZGVsX2V2ZW5fd29yZHMoY2hhciogcyl7CglpbnQgICBpID0gMTsKCWNoYXIqIGEsICpwLCAqdCA9IHM7CgoJZm9yKHAgPSBzOyAqczsgKnMgPSAqcCl7CgkJaWYoISBzdGQ6OmlzYWxwaGEoKnApKXsKCQkJaWYoKnAgPT0gJy4nIHx8ICpwID09ICchJyB8fCAqcCA9PSAnPycpCgkJCQlpID0gMTsKCQkJKytzOwoJCX0gZWxzZSB7CgkJCWEgPSBwOwoJCQl3aGlsZShzdGQ6OmlzYWxwaGEoKmEpKQoJCQkJKythOwoKCQkJaWYoKGkgJiAxKSA9PSAwKQoJCQkJcCA9IGE7CgkJCWVsc2UgewoJCQkJd2hpbGUocCAhPSBhKQoJCQkJCSpzKysgPSAqcCsrOwoJCQl9CgkJCSsraTsKCQkJY29udGludWU7CgkJfQoJCSsrcDsKCX0KCXJldHVybiB0Owp9CgppbnQgbWFpbih2b2lkKXsKCWNoYXIgc1tdID0gIm9uZSB0d28gdGhyZWUhIG9uZSB0d28gdGhyZWUgZm91ciBmaXZlLlxuIlwKCSAgICAgICAgICAgIntvbmV9IHt0d299IHt0aHJlZX0ge2ZvdXJ9IHtmaXZlfSB7c2l4fS4uLlxuIlwKCSAgICAgICAgICAgIkZveCwgZG9nLCBjYXQsIGJhdCEhIVxuIjsKCXN0ZDo6Y291dCA8PCBzIDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCBkZWxfZXZlbl93b3JkcyhzKSA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQo=