Blefe

Pedro está desenvolvendo um jogo on-line para dois jogadores, em que o objetivo é forçar um erro do adversário, blefando. A questão é que, à medida que o jogo prossegue, mais tempo é necessário para verificar se uma jogada é válida ou não, ou seja, se é um blefe ou não. Daí que Pedro precisa da sua ajuda para implementar um algoritmo rápido para verificar se uma jogada é ou não um blefe.

Considere um conjunto AA fixo de NN números inteiros, positivos ou negativos, e uma sequência de números inteiros BB, inicialmente vazia. Os jogadores se alternam em jogadas que consistem em incluir um número por vez no final da sequência BB. Quando chega a sua vez, um jogador deve fazer uma de duas jogadas válidas possíveis: (i) incluir em BB qualquer um dos números do conjunto AA; (ii) ou incluir em BB um número que é a soma de dois números quaisquer que já estejam em BB (note a soma não é de números necessariamente distintos, pode ser a soma de um número com ele mesmo).

Nesta tarefa, você deve escrever um programa que, dado o conjunto AA e uma sequência BB, diga se todas as jogadas foram válidas, ou mostre qual é a primeira jogada inválida em BB.

Entrada

A entrada consiste de três linhas. A primeira linha contém dois números NN e MM, respectivamente o tamanho do conjunto AA e o tamanho da sequência BB. A segunda linha contém os NN números inteiros do conjunto AA. A terceira linha contém os MM números inteiros da sequência BB.

Saída

Seu programa deve produzir uma única linha. A linha deve conter a palavra “sim” caso todas as jogadas em BB sejam válidas; se houver alguma jogada inválida em BB, a linha deve conter o primeiro número inválido em BB.

Restrições

Informações sobre a pontuação

Exemplos

Exemplo de entrada 1

6 11
34 9 -2 77 -11 5
34 5 -2 32 -11 -6 28 66 -2 -22 33

Exemplo de saída 1

sim

Exemplo de entrada 2

6 8
34 9 -2 77 -11 5
-11 77 -2 75 9 48 7 5

Exemplo de saída 2

48