题目描述
![1681035904464.png](/userfiles/images/cd4714a1-c05a-41f8-9d92-be700690245c.png)
在一个遥远的地方,有这么一个小镇,这里的每个居民都十分喜欢数学。
镇上共有 $n$ 位居民,分别编号为 $1, 2, \cdots, n$。每位居民都拥有一个身份码,编号为 $i$ 的居民身份码为 $v_i$。
大家都希望能和尽可能多的人交朋友。而在这个小镇上,只要满足 $\gcd(v_a,v_b)\gt 1$,那么编号为 $a$ 的居民与编号为 $b$ 的居民就能成为朋友。
人们十分和睦地在一起生活,因此小镇上构建起了一个个社交团体。此外,只要 $a$ 和 $b$ 两人是朋友,他们便会渐渐地把自己的其他朋友介绍给对方认识,于是一个个社交团体便逐渐地合并在了一起。久而久之,只要在一开始某两个人直接或者间接是朋友,那么最终他们就会一起处在同一个社交团体当中;否则的话,两人永远不会处在相同的社交团体中。
问这个镇上的社交团体数量有多少个?
- 假如某个人没有朋友,那么他自己就是一个单独的社交团体(希望没有人会这样吧……)。
- $a$ 是 $b$ 间接的朋友,也就是指 $a$ 可能是 $b$ 的朋友的朋友,或者是朋友的朋友的朋友,依次递推。
- $\gcd(a,b)$ 即 $a$ 与 $b$ 的最大公因数。
输入格式
第一行包含一个整数 $n$ $(1 \le n \le 2 \times 10^5)$,表示小镇上的居民数量。
第二行包含 $n$ 个整数 $v_1, v_2, \cdots, v_n$ $(1 \le v_i \le 10^6)$,其中 $v_i$ 表示编号为 $i$ 的居民的身份码。