#include <stdio.h>
int main()
{
char thestring [100];
scanf("%s", thestring);
int fmatch, pstart, currmatch, l;
l=0;
while(thestring[l]!='\0')
l++;
fmatch=0;
pstart=1;
currmatch=1;
while(currmatch<l)
{
if(fmatch<pstart)
{
//In the beginning, currmatch = pstart
if (thestring[fmatch]==thestring[currmatch])// Regular comparison when pstart has been set, and pattern is being recognized
{
fmatch++;
currmatch++;
}
else //if(thestring[fmatch]!=thestring[currmatch])
{
fmatch=0;
if(pstart==currmatch)
currmatch++;
pstart=currmatch;
}
}
else
fmatch=0; // Set fmatch to 0 and then check again if current one matches fmatch
}
if(fmatch==pstart)
printf("true");
else
printf("false");
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKCWNoYXIgdGhlc3RyaW5nIFsxMDBdOwoJc2NhbmYoIiVzIiwgdGhlc3RyaW5nKTsKCglpbnQgZm1hdGNoLCBwc3RhcnQsIGN1cnJtYXRjaCwgbDsKCglsPTA7CgoJd2hpbGUodGhlc3RyaW5nW2xdIT0nXDAnKQoJbCsrOwoKCWZtYXRjaD0wOwoJcHN0YXJ0PTE7CgljdXJybWF0Y2g9MTsKCXdoaWxlKGN1cnJtYXRjaDxsKQoJewoKCgkJaWYoZm1hdGNoPHBzdGFydCkKCQl7CQoJCQkvL0luIHRoZSBiZWdpbm5pbmcsIGN1cnJtYXRjaCA9IHBzdGFydAoJCQlpZiAodGhlc3RyaW5nW2ZtYXRjaF09PXRoZXN0cmluZ1tjdXJybWF0Y2hdKS8vIFJlZ3VsYXIgY29tcGFyaXNvbiB3aGVuIHBzdGFydCBoYXMgYmVlbiBzZXQsIGFuZCBwYXR0ZXJuIGlzIGJlaW5nIHJlY29nbml6ZWQKCQkJewoJCQkJZm1hdGNoKys7CgkJCQljdXJybWF0Y2grKzsKCQkJfQoJCQllbHNlIC8vaWYodGhlc3RyaW5nW2ZtYXRjaF0hPXRoZXN0cmluZ1tjdXJybWF0Y2hdKQoJCQl7CgkJCQlmbWF0Y2g9MDsKCQkJCWlmKHBzdGFydD09Y3Vycm1hdGNoKQoJCQkJCWN1cnJtYXRjaCsrOwoJCQkJcHN0YXJ0PWN1cnJtYXRjaDsKCQkJfQoJCX0KCQllbHNlCgkJCWZtYXRjaD0wOyAvLyBTZXQgZm1hdGNoIHRvIDAgYW5kIHRoZW4gY2hlY2sgYWdhaW4gaWYgY3VycmVudCBvbmUgbWF0Y2hlcyBmbWF0Y2gKCQkKCX0KCglpZihmbWF0Y2g9PXBzdGFydCkKCXByaW50ZigidHJ1ZSIpOwoJZWxzZQoJcHJpbnRmKCJmYWxzZSIpOwp9CQk=