#P3062. Mike and Foam

Mike and Foam

说明

$Mike$是$Rico$酒吧的调酒师。在$Rico$酒吧,他们将啤酒杯放在一个特殊的架子上。在$Rico$酒吧,有$n$种啤酒编号从$1$到$n$。第$i$瓶啤酒上面有$a_{i}$ 毫升的泡沫。

图片

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

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

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

输入格式

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

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

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

输出格式

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

样例

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