# -*- coding: utf-8 -*-

# モジュールのインポート

import collections



# 標準入力の取得

N = int(eval(input()))

A = list(map(int, input().split()))



# 求解処理

left = {}

result = 0

for j in range(N):

    r = -A[j] + j

    result += left.get(r, 0)

    l = A[j] + j

    left[l] = left.get(l, 0) + 1



# 結果出力

print(result)

# -*- coding: utf-8 -*-

# 標準入力の取得

N = int(eval(input()))

A = list(map(int, input().split()))





def main() -> None:

    """Entry point

    """

    # 求解処理

    """

    1 <= i < j <= Nとすると、

    j - i = A_i + A_j ⇒ -A_j + j = A_i +i

    となる。

    したがって、各jについて、左辺の値を計算し、等式が成立するようなi(< j)の個数を求めればよい。

    """

    right = {}

    result = 0

    for j in range(N):

        l = -A[j] + j

        result += right.get(l, 0)

        r = A[j] + j

        right[r] = right.get(r, 0) + 1



    # 結果出力

    print(result)





if __name__ == "__main__":

    main()

# -*- coding: utf-8 -*-
# モジュールのインポート
import collections

# 標準入力の取得
N = int(eval(input()))
A = list(map(int, input().split()))
# 求解処理
left = {}
result = 0
for j in range(N):
    r = -A[j] + j
    result += left.get(r, 0)
    l = A[j] + j
    left[l] = left.get(l, 0) + 1
# 結果出力
print(result)

# -*- coding: utf-8 -*-
# 標準入力の取得
N = int(eval(input()))
A = list(map(int, input().split()))


def main() -> None:
    """Entry point"""
    # 求解処理
    """
    1 <= i < j <= Nとすると、
    j - i = A_i + A_j ⇒ -A_j + j = A_i +i
    となる。
    したがって、各jについて、左辺の値を計算し、等式が成立するようなi(< j)の個数を求めればよい。
    """
    right = {}
    result = 0
    for j in range(N):
        l = -A[j] + j
        result += right.get(l, 0)
        r = A[j] + j
        right[r] = right.get(r, 0) + 1
    # 結果出力
    print(result)


if __name__ == "__main__":
    main()

-# モジュールのインポート -import collections - -# 求解処理 -left = {} -result = 0 -for j in range(N): -    r = -A[j] + j -    result += left.get(r, 0) -    l = A[j] + j -    left[l] = left.get(l, 0) + 1 -# 結果出力 -print(result) + + +def main() -> None: +    """Entry point""" +    # 求解処理 +    """ +    1 <= i < j <= Nとすると、 +    j - i = A_i + A_j ⇒ -A_j + j = A_i +i +    となる。 +    したがって、各jについて、左辺の値を計算し、等式が成立するようなi(< j)の個数を求めればよい。 +    """ +    right = {} +    result = 0 +    for j in range(N): +        l = -A[j] + j +        result += right.get(l, 0) +        r = A[j] + j +        right[r] = right.get(r, 0) + 1 +    # 結果出力 +    print(result) + + +if __name__ == "__main__": +    main()