#ATagc003d. [AGC003D] Anticube

[AGC003D] Anticube

题目描述

高桥君在生日时从妈妈那里收到了 s1,,sNs_1,\ldots,s_NNN 个正整数。注意,这些数中可以有重复的元素。高桥君打算从中选出若干个整数,用圆圈圈起来。

高桥君讨厌立方数,因此,如果 sis_isjs_jiji \neq j)都被圈起来了,那么它们的乘积 sisjs_i s_j 不能是立方数。例如,当 s1=1,s2=1,s3=2,s4=4s_1=1,s_2=1,s_3=2,s_4=4 时,s1s_1s2s_2 不能同时被圈起来。同样,s3s_3s4s_4 也不能同时被圈起来。

请你求出高桥君最多能圈起多少个整数。

输入格式

输入以如下格式从标准输入中给出。

NN s1s_1 s2s_2 \ldots sNs_N

输出格式

输出高桥君最多能圈起来的整数个数。

样例 1

输入

8
1
2
3
4
5
6
7
8

输出

6

样例 2

输入

6
2
4
8
16
32
64

输出

3

样例 3

输入

10
1
10
100
1000000007
10000000000
1000000009
999999999
999
999
999

输出

9

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • 1si10101 \leq s_i \leq 10^{10}
  • 所有输入均为整数。

样例解释 1

可以圈起 1,2,3,5,6,71,2,3,5,6,7 这几个数。

由 ChatGPT 4.1 翻译