def is_palindrome(s: str, left: int, right: int) -> bool:
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
def check_ranges_for_palindrome(s: str, ranges: list[list[int]]) -> None:
for start, end in ranges:
substring = s[start:end + 1]
result = "Palindrome" if is_palindrome(s, start, end) else "Not palindrome"
print(f"{substring}: {result}")
s = "abcddcbeebc"
ranges = [
[2, 5],
[5, 10],
[3, 7]
]
check_ranges_for_palindrome(s, ranges)
'''
run:
cddc: Palindrome
cbeebc: Palindrome
ddcbe: Not palindrome
'''