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"