D - Documentos secretos

Languages: C, C++, Java, Haskell, Pascal, Python, JavaScript, Tiger, C#
Time & Memory limits: (details)

Fito es un agente de una oficina de espías y le han asignado una nueva misión, que consiste en obtener unos documentos secretos que se encuentran en un laboratorio. Para llegar a los documentos Fito tiene que abrir una puerta que se encuentra bloqueada, pero tiene que tener mucho cuidado porque si no lo hace bien sonará una alarma y será capturado por la policía.

La puerta tiene una circunferencia con $N$ bombillos, un indicador (como la aguja de un reloj) y a un lado $M$ botones. Cada botón tiene un numero $L_i$ impreso. Inicialmente todas las luces están apagadas y cuando el botón $i$-esimo se aprieta el indicador se mueve $L_i$ unidades en el sentido de las manecillas del reloj y el nuevo bombillo apuntado se enciende. Fito solo puede tocar $N$ veces los botones y la puerta se abre solo cuando todas las luces están encendidas.

Por ejemplo en el caso de $N = 6$, $M = 2$, $L_1 = 2$, $L_2 = 5$, se puede abrir la puerta tocando los botones $2$,$2$,$2$,$5$,$2$ y $2$ en ese orden.

Hay algunas puertas en el laborotario y algunas de ellas parece ser imposible desbloquearlas. Ayuda a Fito a saber para cada puerta si es posible abrirla o no.

Input

La entrada empieza con una linea que contiene dos enteros $N$ y $M$. Despues habrá $M$ líneas cada una con un entero $L_i$.

Se garantiza que $1 \leq N \leq 10^9, 1 \leq M \leq 10^5$ y $1 \leq Li \leq N$

Output

Imprimir una linea que diga “Yes” si la puerta se puede abrir y “No” en caso contrario.

Sample test(s)

Input
6 2 2 5
Output
Yes