I am trying to find the minimum values ββfor all the elements in a list of associations, here is an example

x = {<|"a"-> 4, "b" -> 9, "c" -> 15 |>, <|"a"->21, "b" -> 11, "c" -> 1 |>, <|"a"->12, "b" -> 3, "c" -> 21 |>}

Output required for Min

{<|"a"-> 2, "b" -> 3, "c" -> 1 |>}Output required for Max

{<|"a"-> 21, "b" -> 11, "c" -> 15 |>}

My attempt

for Max: `Maximal by[Values]@X`

Result: {<|"a" -> 21, "b" -> 11, "c" -> 1 |>}

For min: `MinimalBy[Values]@X`

Result: {<|"a" -> 4, "b" -> 9, "c" -> 15 |>}

Is there an elegant way to achieve this result?