Mike y la espuma


Submit solution


Points: 100 (partial)
Time limit: 8.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Prolog, Python, Swift, VB

Mike el oso es cantinero en el bar de Rico. En Rico's, colocan vasos de cerveza en un estante especial. Hay n tipos de cerveza en Rico's numerados del 1 al n. El i-ésimo tipo de cerveza tiene a_{i} mililitros de espuma.

Maxim es el jefe de Mike. Hoy le dijo a Mike que realizara q consultas. Inicialmente, el estante está vacío. En cada solicitud, Maxim le da un número x. Si la cerveza número x ya está en el estante, entonces Mike debe sacarla del estante, de lo contrario, debe ponerla en el estante.

Después de cada consulta, Mike debería decirle la puntuación del estante. Los osos son frikis. Entonces piensan que el puntaje de un estante es el número de pares (i, j) de vasos en el estante tal que i < j y gcd(i,j) = 1 donde gcd(a,b) es el máximo común divisor de los números a y b.

Mike está cansado. Entonces te pidió que lo ayudaras a realizar estas solicitudes.

Entrada

La primera línea de entrada contiene los números n y q (1 \le n, q \le 10^5), el número de diferentes tipos de cerveza y el número de consultas.

La siguiente línea contiene n números enteros separados por espacios, a_{1}, a_{2}, ..., a_{n} (1 \le a_{i} \le 10^5), la altura de la espuma en la parte superior de cada tipo de cerveza.

Las siguientes q líneas contienen las consultas. Cada consulta consta de un único entero x (1 \le x \le n), el índice de una cerveza que se debe agregar o quitar de la estantería.

Salida

Para cada consulta, imprima la respuesta para esa consulta en una línea.

Puntuación

No hay puntuación parcial en este problema

Ejemplo de entrada

5 6
1 2 3 4 6
1
2
3
4
5
1

Ejemplo de salida

0
1
3
5
6
2

Comments

There are no comments at the moment.