9535: 小塔的公约数

内存限制:512 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:2 通过:2

题目描述

小塔是数学系的一名学生,最近她参加了一个数学研究项目。在研究数论问题时,她遇到了一个有趣的整数对性质:对于两个正整数a和b,当它们的最大公约数等于它们的差的绝对值时,即gcd⁡(a,b)=∣a−b∣gcd(a,b)=ab,这样的数对具有特殊的数学性质。

为了深入研究这个性质,小塔决定编写一个程序来计算给定数列中满足这一条件的数对数量。你能帮助她高效地解决这个问题吗?

给定一个包含n个正整数的序列a1,a2,...,ana1,a2,...,an,计算有多少对索引i,ji,j,其中1≤i≤j≤n1ijn,满足:gcd⁡(ai,aj)=∣ai−aj∣gcd(ai,aj)=aiaj

输入格式

输入包含多组测试数据。第一行包含一个整数T,表示测试数据的组数。

对于每组测试数据:

  • 第一行包含一个整数n,表示序列的长度
  • 第二行包含n个正整数a1,a2,⋯,ana1,a2,,an

数据范围:

  • 1≤T≤101T10
  • 1≤n≤5×1051n5×105
  • 1≤ai≤n1ain
  • 1≤∑n≤1061n106

输出格式

对于每组测试数据,输出一个整数,表示满足条件的数对i,ji,j的数量

输入样例 复制

2
6
1 2 3 4 5 6
3
1 2 3

输出样例 复制

8
2