function mirror(...) --it should be a full program, but then I can't test it many times
--the ... in full program is the same as here
s=...for i=#s,1,-1 do for j=1,#s-i do m=j+i/2-i%2/2t=s:sub(j,m).."|"..s:sub(m+1,i+j)if t==t.reverse(t)then print(t)return end end end
end
mirror("Hello World") --> "l|l"
mirror("Programming Puzzles and Code-Golf") --> Either "m|m" or "z|z"
mirror("abcba") --> ""
mirror("Hulluh") --> "ul|lu"
mirror("abcdefggfedcba") --> "abcdefg|gfedcba"
mirror("abcdefggfabc") --> "fg|gf"
mirror("AbbA") --> "Ab|bA"
mirror("This input is a lot like the last one, but with more characters that don't change the output. AbbA") --> "Ab|bA"
ZnVuY3Rpb24gbWlycm9yKC4uLikgCS0taXQgc2hvdWxkIGJlIGEgZnVsbCBwcm9ncmFtLCBidXQgdGhlbiBJIGNhbid0IHRlc3QgaXQgbWFueSB0aW1lcwoJCQkJCQktLXRoZSAuLi4gaW4gZnVsbCBwcm9ncmFtIGlzIHRoZSBzYW1lIGFzIGhlcmUKCnM9Li4uZm9yIGk9I3MsMSwtMSBkbyBmb3Igaj0xLCNzLWkgZG8gbT1qK2kvMi1pJTIvMnQ9czpzdWIoaixtKS4uInwiLi5zOnN1YihtKzEsaStqKWlmIHQ9PXQucmV2ZXJzZSh0KXRoZW4gcHJpbnQodClyZXR1cm4gZW5kIGVuZCBlbmQKZW5kCgptaXJyb3IoIkhlbGxvIFdvcmxkIikgICAgIC0tPiAibHxsIgptaXJyb3IoIlByb2dyYW1taW5nIFB1enpsZXMgYW5kIENvZGUtR29sZiIpICAgICAtLT4gRWl0aGVyICJtfG0iIG9yICJ6fHoiCm1pcnJvcigiYWJjYmEiKSAgICAgICAgICAgLS0+ICIiCm1pcnJvcigiSHVsbHVoIikgICAgICAgICAgLS0+ICJ1bHxsdSIKbWlycm9yKCJhYmNkZWZnZ2ZlZGNiYSIpICAtLT4gImFiY2RlZmd8Z2ZlZGNiYSIKbWlycm9yKCJhYmNkZWZnZ2ZhYmMiKSAgICAtLT4gImZnfGdmIgptaXJyb3IoIkFiYkEiKSAgICAgICAgICAgIC0tPiAiQWJ8YkEiCm1pcnJvcigiVGhpcyBpbnB1dCBpcyBhIGxvdCBsaWtlIHRoZSBsYXN0IG9uZSwgYnV0IHdpdGggbW9yZSBjaGFyYWN0ZXJzIHRoYXQgZG9uJ3QgY2hhbmdlIHRoZSBvdXRwdXQuIEFiYkEiKSAtLT4gIkFifGJBIg==