1def count_palindromic_substrings(s):
2 n = len(s)
3 dp = [[False] * n for _ in range(n)]
4 count = 0
5 for length in range(1, n + 1):
6 for i in range(n - length + 1):
7 j = i + length - 1
8 if s[i] == s[j]:
9 dp[i][j] = (length <= 2) or dp[i + 1][j - 1]
10 if dp[i][j]:
11 count += 1
12 return count