procedure main(A) every write(s := !A,": ",(repString(s) | "Not a rep string!")\1) end procedure repString(s) rs := s[1+:*s/2] while (*rs > 0) & (s ~== lrepl(rs,*s,rs)) do rs := rs[1:-1] return (*rs > 0, rs) end procedure lrepl(s1,n,s2) # The standard left() procedure won't work. while *s1 < n do s1 ||:= s2 return s1[1+:n] end