module Solutions.P58 (symmetricBalancedTrees) where
import Problems.BinaryTrees
import Problems.P55
import Problems.P56
symmetricBalancedTrees :: Int -> [Tree ()]
symmetricBalancedTrees :: Int -> [Tree ()]
symmetricBalancedTrees = (Tree () -> Bool) -> [Tree ()] -> [Tree ()]
forall a. (a -> Bool) -> [a] -> [a]
filter Tree () -> Bool
forall a. Tree a -> Bool
symmetric ([Tree ()] -> [Tree ()]) -> (Int -> [Tree ()]) -> Int -> [Tree ()]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Tree ()]
completelyBalancedTrees