filterOut p (x:xs) | p x       = filterOut p xs
                   | otherwise = x : filterOut p xs
filterOut p (x:xs) | p x       = filterOut p xs
                   | otherwise = x : filterOut p xs
filterOut p (x:xs) | p x       = filterOut p xs
                   | otherwise = x : filterOut p xs