#624. 直角三角形

直角三角形

题目描述

国豪和国庆很喜欢数学,他们很早就自学了三角形的相关知识。

三角形的三边长分别用 aabbcc 三个字母表示,如果这三边的边长满足如下关系:a2+b2=c2a^2+b^2=c^2,则说明它们构成了一个直角三角形,且 aabb 为直角边,cc 为斜边。现给出 nn 条边的边长,请你从中选出三条边,让它们能构成一个直角三角形,请问一共能构成多少个直角三角形。

输入格式

共两行。第一行,一个整数 nn,表示有 nn 条边。第二行 nn 个正整数,表示每条边的长度。

输出格式

共一行,一个整数,表示能构成的直角三角形的个数。

样例输入

7
4 3 4 1 3 5 4

样例输出

6

样例解释

a2a^2aa 的平方,表示有 22aa 相乘,即 a×aa×a

对于样例输入,可以从 77 条边中选出边长为 334455 的三条边,因为 32+42=523^2+4^2=5^2,所以这三条边能构成一个直角三角形,又因为 33 出现了 22 次,44 出现了 33 次,所以一共能构成 2×3=62\times 3=6 个直角三角形。

数据范围

  • 3n1000003\le n\le 100000
  • 11\le每条边的长度1000\le 1000