#include // python->C++翻訳 using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; if (!(cin >> N)) return 0; vector A(N); for (int i = 0; i < N; ++i) cin >> A[i]; // n = isqrt(4 * 10**5) const long long n = (long long)floor(sqrt(400000.0L)); long long ans = 0; // d : defaultdict(int) unordered_map d; d.reserve((size_t)N * 2); d.max_load_factor(0.7f); // for ni in range(1, n+1): for (long long ni = 1; ni <= n; ++ni) { // for j in range(N): for (int j = 0; j < N; ++j) { long long key = A[j] - (long long)(j + 1) * ni; long long need = -key; // -(A[j] - (j+1)*ni) auto it = d.find(need); if (it != d.end()) ans += it->second; d[key] += 1; } d.clear(); } // for ij in range(1, n+1): for (long long ij = 1; ij <= n; ++ij) { for (int j = 0; j < N; ++j) { long long i = ij - j - 2; // i = ij-j-2 if (0 <= i && i < j && j < N) { long long s = A[(int)i] + A[j]; if (s % ij == 0) { long long ni = s / ij; if (ni > n) ans += 1; } } } } cout << ans << '\n'; return 0; }