F. Lotes no anel
Há depósitos em um anel. O depósito contém unidades indivisíveis de um produto. Uma operação transporta uma unidade entre depósitos vizinhos, em qualquer sentido. A ligação entre e custa por unidade transportada; a ligação conecta a .
Você deve escolher um inteiro e redistribuir as unidades de modo que, ao final, a quantidade em cada depósito seja múltipla de . Zero é múltiplo de qualquer . Não se pode criar nem destruir unidades, e só é possível retirar uma unidade de um depósito que a possua.
Determine o menor custo total, considerando todas as escolhas de e todas as redistribuições possíveis, ou informe que isso é impossível.
Input
A primeira linha contém (). A segunda contém inteiros (), com . A terceira contém inteiros ().
Output
Imprima o menor custo total, ou -1 se for impossível.
Samples
Sample 1
Input
3 1 1 1 1 10 1
Output
2
Escolha e transporte as unidades dos depósitos e para o depósito , usando as duas ligações de custo .