同差(diff)

题目描述

Y 同学有一个长度为 nn 的整数序列 a1,a2,,ana_1,a_2,\ldots,a_n。他想统计有多少对下标 (i,j)(i,j) 满足 1i<jn1 \le i < j \le n,并且

ajai=ji.a_j-a_i=j-i.

现在给定多组序列,请你分别求出这样的下标对数量。

输入格式

第一行包含一个整数 TT,表示测试组数。

对于每组测试数据,第一行包含一个整数 nn

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

对每组测试数据,输出一行一个整数,表示满足条件的下标对数量。

样例

样例输入 #1

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

样例输出 #1

10
1

数据范围与约定

对于 100%100\% 的数据,保证 1T2×1051 \le T \le 2\times 10^51n2×1051 \le \sum n \le 2\times 10^51ai1091 \le a_i \le 10^9

测试点编号 分值 n\sum n \le aia_i \le 特殊性质
121 \sim 2 1010 20002000 10610^6
353 \sim 5 1515 10510^5 10910^9 特殊性质 A
686 \sim 8 2×1052\times 10^5 特殊性质 B
9129 \sim 12 2020 5×1045\times 10^4
131613 \sim 16 10510^5
172017 \sim 20 2×1052\times 10^5
  • 特殊性质 A:保证每组数据的 n2000n \le 2000
  • 特殊性质 B:保证对所有 ii 都有 ai=ia_i=i