编程题
### 问题描述
在一个神秘的世界里,坤坤正在玩一个古老的魔法游戏。这个游戏的目标是将一些神秘的咒语石头分组。每个咒语石头都有一个独特的编号,范围是从 $2$ 到 $N$。在每一步,坤坤可以选择两个独特的咒语石头,如果他们共享一个大于 $1$ 的共同因子,就可以将它们归入同一组。坤坤会一直将石头进行分组,直到不能再进行分组为止。
在这个游戏中,归属于一个组的石头形成了等价关系。这意味着如果石头 $a$ 和石头 $b$ 在同一组,石头 $b$ 和石头 $c$ 也在同一组,那么石头 $a$ 和石头 $c$ 就被认为是在同一组。
坤坤的任务是找出最后形成的组的总数。
### 输入格式
第一行将包含一个整数 $T$,表示测试案例的数量。然后是 $T$ 行输入,每行包含一个整数 $N$。
数据范围保证:$1 \leq T \leq 2 \times 10^5$,$2 \leq N \leq 10^7$。
### 输出格式
对于每个测试案例,输出一行,表示最后形成的组的总数。
### 样例输入
```text
3
2
4
8
```
### 样例输出
```text
1
2
3
```
### 说明
测试案例 1:最后的组是 { $2$ }。
测试案例 2:最后的组是 { $ 2,4 $ } 和 { $3$ }。
测试案例 3:最后的组是 { $2,3,4,6,8$ },{ $5$ } 和 { $7$ }。