import Data.Set (Set) import qualified Data.Set as Set main :: IO () main = do s <- getLine let n = length s print $ Set.size $ solve 0 (n - 1) "" s Set.empty solve :: Int -> Int -> String -> String -> Set String -> Set String solve l r x s st | l > r = Set.insert x st | otherwise = solve l (r - 1) (x ++ [s !! r]) s (solve (l + 1) r (x ++ [s !! l]) s st)