#include <stdio.h>
#include <string.h>
int group(char ch)
{
}
void word(char **r, char *s, int g)
{
for (; *s && group(*s) == g; ++s)
*((*r)++) = *s;
}
int main(void)
{
char str[256], res[256], *s, *r;
int next;
{
r = res;
for (next
=group
(s
=str
+strlen(str
)-1); ; --s
) if (s == str)
{
word(&r, s, group(*s));
break;
}
else if (group(*s) != next)
{
word(&r, s+1, next);
next = group(*s);
}
*r = 0;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBncm91cChjaGFyIGNoKQp7CglyZXR1cm4gaXNhbHBoYShjaCkgPyAwIDogaXNzcGFjZShjaCkgPyAxIDogMjsKfQoKdm9pZCB3b3JkKGNoYXIgKipyLCBjaGFyICpzLCBpbnQgZykKewoJZm9yICg7ICpzICYmIGdyb3VwKCpzKSA9PSBnOyArK3MpCgkJKigoKnIpKyspID0gKnM7Cn0KCmludCBtYWluKHZvaWQpCnsKCWNoYXIgc3RyWzI1Nl0sIHJlc1syNTZdLCAqcywgKnI7CglpbnQgbmV4dDsKCgl3aGlsZSAoZ2V0cyhzdHIpKQoJewoJCXIgPSByZXM7CgoJCWZvciAobmV4dD1ncm91cChzPXN0citzdHJsZW4oc3RyKS0xKTsgOyAtLXMpCgkJCWlmIChzID09IHN0cikKCQkJewoJCQkJd29yZCgmciwgcywgZ3JvdXAoKnMpKTsKCQkJCWJyZWFrOwoJCQl9CgkJCWVsc2UgaWYgKGdyb3VwKCpzKSAhPSBuZXh0KQoJCQl7CgkJCQl3b3JkKCZyLCBzKzEsIG5leHQpOwoJCQkJbmV4dCA9IGdyb3VwKCpzKTsKCQkJfQoKCQkqciA9IDA7CgkJCgkJcHV0cyhyZXMpOwoJfQoKCXJldHVybiAwOwp9Cg==