last (_ ++ [e]) = e sol :: [Int] -> [Int] sol (_ ++ l ++ _) | 2 * (head l) == (last l) = l main = sol [3, 1, 2, 4, 5, 0, 6]