Produto dos dois maiores números

Crie uma função que receba um array de números e retorne o produto do maior número e do segundo maior número DISTINTO do array. Se o valor máximo aparecer mais de uma vez, ele só poderá ser usado uma vez quando houver outro valor distinto. Esse é o comportamento esperado de product -- veja os exemplos abaixo para saber mais.

Exemplos

product([2, 3, 1, -1, 2]) ➞ 6
// 2 * 3 = 6

product([-2, -2, -1, -1]) ➞ 2
// -2 * - 1 = 2
// Não 1, porque você só pode usar -1 uma vez.

product([8, 8, 8]) ➞ 64
// 8 * 8 = 64
// Você pode repeti-lo aqui porque há apenas um valor.

product([2, 8, 8, 8]) ➞ 16
// 2 * 8 = 16
// Não 64, porque você só pode usar 8 uma vez.

Observações

  • Todos os números do array são inteiros.
  • Os números podem ser positivos ou negativos.