F. Roda de cores
Você tem contas de cores. Existem contas da cor . Use todas as contas para montar uma roda, de modo que:
- contas vizinhas tenham cores diferentes;
- cada par não ordenado de cores apareça em no máximo uma vizinhança na roda.
A última conta também é vizinha da primeira. Por exemplo, uma vizinhança entre as cores 2 e 5 impede qualquer outra vizinhança 2–5 ou 5–2. As vizinhanças são as posições consecutivas da roda, onde ; se , as duas vizinhanças usam o mesmo par e a roda é inválida.
Construa uma roda válida ou informe que é impossível.
Input
A primeira linha contém (). A segunda contém inteiros (; ).
Output
Se não existir uma roda válida, imprima -1. Caso contrário, imprima uma linha com inteiros entre 1 e , indicando as cores em ordem circular. Qualquer roda válida será aceita.
Samples
Sample 1
Input
3 1 1 1
Output
1 3 2
Os pares vizinhos são {1,2}, {2,3} e {1,3}, todos distintos.
Sample 2
Input
2 1 1
Output
-1
O par {1,2} apareceria duas vezes.