//(c)Terminator
#include <stdio.h>
#include <ctype.h>
const char* fpolyw(const char* s, const char** f, const char** l){
const char* p, *t;
while(*s) {
++s;
t = p;
if((p - s) > 2){
*f = s;
*l = p;
for(--p; p > s; ++s, --p){
if(*p != *s)
break;
}
if(*p == *s)
return t;
}
s = t;
}
return NULL;
}
int main(void){
const char* p, *f, *l;
char s[] = "ABCEEExEEECBA???the, bla ADA, WOW, adida, spam,kook";
p = &s[0];
while((p = fpolyw(p, &f, &l)) != NULL){
// fwrite(f, sizeof(char), (size_t)(l - f), stdout);
while(f != l)
}
return 0;
}
Ly8oYylUZXJtaW5hdG9yCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8Y3R5cGUuaD4KCgoKY29uc3QgY2hhciogZnBvbHl3KGNvbnN0IGNoYXIqIHMsIGNvbnN0IGNoYXIqKiBmLCBjb25zdCBjaGFyKiogbCl7Cgljb25zdCBjaGFyKiBwLCAqdDsKCgl3aGlsZSgqcykgewoJCXdoaWxlKCpzICYmICEgaXNhbHBoYSgqcykpCgkJCSsrczsKCgkJZm9yKHAgPSBzOyBpc2FscGhhKCpwKTsgKytwKTsKCgkJdCA9IHA7CgkJaWYoKHAgLSBzKSA+IDIpewoJCQkqZiA9IHM7CgkJCSpsID0gcDsKCQkJZm9yKC0tcDsgcCA+IHM7ICsrcywgLS1wKXsKCQkJCWlmKCpwICE9ICpzKQoJCQkJCWJyZWFrOwoJCQl9CgkJCWlmKCpwID09ICpzKQoJCQkJcmV0dXJuIHQ7CgkJfQoJCXMgPSB0OwoJfSAKCXJldHVybiBOVUxMOwp9CgoKCmludCBtYWluKHZvaWQpewoJY29uc3QgY2hhciogcCwgKmYsICpsOwoKCWNoYXIgc1tdID0gIkFCQ0VFRXhFRUVDQkE/Pz90aGUsIGJsYSBBREEsIFdPVywgYWRpZGEsIHNwYW0sa29vayI7CgoJcCA9ICZzWzBdOwoJd2hpbGUoKHAgPSBmcG9seXcocCwgJmYsICZsKSkgIT0gTlVMTCl7Ci8vCQlmd3JpdGUoZiwgc2l6ZW9mKGNoYXIpLCAoc2l6ZV90KShsIC0gZiksIHN0ZG91dCk7CgkJd2hpbGUoZiAhPSBsKQoJCQlwdXRjaGFyKCpmKyspOwoJCXB1dGNoYXIoJ1xuJyk7Cgl9CglyZXR1cm4gMDsKfQ==