The #-transform makes every palindrome odd. Watch the box [l, r], the mirror reuse p[i] = min(r−i, p[i']), and the expansion fill the radius array.
t; # separators sit at even indices.
Radius p[i] in t equals the palindrome length in the original string; longest palindrome length = max p[i], and the count of all palindromic substrings = Σ ⌈p[i]/2⌉.
See junior.md and professional.md for the mirror-initialization correctness and the O(n) proof.