def iskb(str) n=str.size return true if n==1 0.upto(n/2){|i| return false if str[i]!=str[n-i-1] } return true end def calc(str,beg) return str.size if iskb(str)&&beg max=1 (str.size-2).downto(1){|i| if iskb(str[0..i]) u = [i+1,calc(str[i+1,99],true)].max max=u if max