Fórmula de (a+b)^n

Dado um número inteiro n, retorne a fórmula expandida de (a+b)^n como uma string. Retorne "1" quando n for 0. Para um n negativo, retorne "1/(...)" com a expansão do seu valor positivo dentro dos parênteses.

Exemplos

formula(0) ➞ "1"

formula(1) ➞ "a+b"

formula(2) ➞ "a^2+2ab+b^2"

formula(-2) ➞ "1/(a^2+2ab+b^2)"

formula(3) ➞ "a^3+3a^2b+3ab^2+b^3"

formula(5) ➞ "a^5+5a^4b+10a^3b^2+10a^2b^3+5ab^4+b^5"

Observações

Não inclua o seguinte na sua string:

  • spaces
  • *
  • ^1
  • a^0
  • b^0