import sys,time from itertools import permutations from heapq import heappop,heappush from collections import deque import random import bisect from math import ceil,floor input = lambda :sys.stdin.readline().rstrip() mi = lambda :map(int,input().split()) li = lambda :list(mi()) M = 2*10**5 def solve(N,A): rest_idx = [i for i in range(N)] tmp_cnt = [0] * (2*M+1) ans = 0 for q in range(1,2*M+1): nxt_idx = [] for i in rest_idx: val = A[i] - q * (i+1) if -M <= val <= M: ans += tmp_cnt[M-val] tmp_cnt[val+M] += 1 nxt_idx.append(i) for i in rest_idx: val = A[i] - q * (i+1) if -M <= val <= M: tmp_cnt[val+M] = 0 rest_idx = nxt_idx return ans N = int(input()) A = li() print(solve(N,A))