MOG Round #6Ended |
Un polígono es una figura geométrica formada por vértices y lados (al menos tres).
En este problema, se etiqueta un polígono de forma tal que a cada uno de sus vértices se le asigna una letra $\texttt{a}$ o una letra $\texttt{b}$. A cada lado le corresponde un valor de acuerdo a las letras que tienen asignadas sus dos vértices adyacentes:
Un polígono se puede etiquetar de muchas formas, pero se quiere conocer, de todas las formas de etiquetarlo, cual es la de mayor costo. El costo de una forma de etiquetar un polígono es igual a la multiplicación de los valores correspondientes a los lados del polígono.
La entrada consiste de dos valores enteros $A$ y $B$ $(0 \leq A, B \leq 100000)$, que representan la cantidad de vértices del polígono que van a tener letras $\texttt{a}$ y letras $\texttt{b}$ respectivamente. La cantidad total de vértices del polígono es igual a $A + B$. Cabe destacar que el polígono no tiene necesariamente que ser convexo.
Si no existe un polígono con las características dadas imprima el valor $-1$. De lo contrario imprima el máximo valor que se puede obtener al etiquetar el polígono. Este valor no tiene que ser un número entero, pero los juegos de datos de entrada garantizan que sí lo sea. Como la respuesta puede ser muy grande, imprima su valor módulo $1000000007$ $(10^9 + 7)$
Caso 1:
En este caso el único polígono que se puede formar es un triángulo y a cada uno de sus lados le corresponde el valor $2$, por lo que la respuesta es $8$.
Caso 2:
No existen polígonos con $2$ lados.