Problema de suma de tres elementos

Escribe una función que devuelva todos los conjuntos de tres elementos cuya suma sea 0.

Ejemplos

three_sum([0, 1, -1, -1, 2]) ➞ [[0, 1, -1], [-1, -1, 2]]

three_sum([0, 0, 0, 5, -5]) ➞ [[0, 0, 0], [0, 5, -5]]

three_sum([1, 2, 3]) ➞ []

three_sum([1]) ➞ []

Notas

  • La lista original puede contener números duplicados.
  • Cada sublista de tres elementos en tu salida debe ser distinta.
  • Las sublistas deben estar ordenadas por el primer elemento de la sublista.
  • Las sublistas deben estar ordenadas de la misma manera que la lista original.
  • Devuelve una lista vacía si ningún conjunto de tres elementos suma cero.
  • Devuelve una lista vacía si hay menos de tres elementos.