#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