import sys sys.setrecursionlimit(10**6) s = input() length = len(s) // 2 s, s_rev = s[:length], s[(len(s)+1)//2:] mod = 10**9+7 dp = [0]*(length+1) def rec(i): dp[i] = (sum(dp[j] or rec(j) for j in range(i+1, length+1) if s[i:j] == s_rev[-j:length-i]) + 1) % mod return dp[i] print(rec(0))