#P4703. Mike and Foam

Mike and Foam

题目描述

MikeMikeRicoRico 酒吧的调酒师。在 RicoRico 酒吧,他们将啤酒杯放在一个特殊的架子上。在 RicoRico 酒吧,有 nn 种啤酒编号从 11nn。第 ii 瓶啤酒上面有 aia_{i} 毫升的泡沫。

MaximMaximMikeMike 的老板。今天他让 MikeMike 回答 qq 个查询。最初架子是空的。在每个操作中,MaximMaxim 给他一个编号 XX。如果编号为 XX 的啤酒已经在架子上,那么 MikeMike 应该从架子上取下它,否则他应该把它放在架子上。

每次询问后,MikeMike 应该告诉他架子的分数。他们认为货架的分数是满足 i<ji<j 并且 gcd(ai,aj)=1gcd(a_{i},a_{j})=1 的数对 (i,j)(i,j) 的个数。

MikeMike 现在很累。所以他请你帮他处理这些操作。

输入格式

第一行输入包含数字 nnqq1n1\le nq2×105q\le 2\times {10}^{5}),不同种类的啤酒数量和查询次数。

下一行包含 nn 个由空格分隔的整数,a1,a2,,ana_{1},a_{2},\dots,a_{n}1ai5×1051\le a_{i}\le 5\times10^{5}),表示各种啤酒顶部的泡沫量。

接下来 qq 行一行包含一个查询。每个查询一个整数 XX1XN1\le X\le N),表示应从货架上添加或移除的啤酒的编号。

输出格式

对于每一个查询,用一行输出对应的答案。

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