3676: GESP C++三级24年3月真题:完全平方数

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:17 Solved:8

Description

完全平方数

3.2.1     题面描述

小杨同学有一个包含 n 个非负整数的序列 A ,他想要知道其中有多少对下标组合 <i, j > (1<i,j<n;i<j ) ,使得 Ai +Aj 是完全平方数。

如果x是完全平方数 ,则存在非负整数y  使得 y × y = x。

3.2.2     输入格式

第一行一个非负整数 n ,表示非负整数个数。

第二行包含n个非负整数 A1,A2,...., An ,表示序列 A 包含的非负整数。

3.2.3     输出格式

输出一个非负整数 ,表示和是完全平方数的非负整数对数。

 

样例1:

5

1 4 3 3 5

样例1输出:
3

 

对于全部数据 ,保证有 1  ≤ n ≤ 1000, 0 ≤ Ai  ≤ 105 。

Input

第一行一个非负整数 n ,表示非负整数个数。

第二行包含n个非负整数 A1,A2,...., An ,表示序列 A 包含的非负整数。

Output

输出一个非负整数 ,表示和是完全平方数的非负整数对数。

Sample Input Copy

5
1 4 3 3 5

Sample Output Copy

3

HINT

对于全部数据 ,保证有 1  ≤ n ≤ 1000, 0 ≤ Ai  ≤ 100000 。