#include <stdio.h>
#include <stdlib.h>
#define N 200000
typedef struct {
    long int value;
    int count;
} kv;

kv mmm[N];

hash_clear(){
    for(i=0;i<N;i++){
        mmm[i].count=0;
        mmm[i].value=-1;
    }
}

hash_inc(int a){
    int x=a%(N/2);
    while(mmm[x].value!=-1||mmm[x].value!=a){
        x++;
    }
    if (mmm[x].value==-1){
        mmm[x].value=a;
        mmm[x].count=1;
    }else{
        mmm[x].count++;
    }
}

hash_getc(int a){
    int x=a%(N/2);
    int c=10;
    while(mmm[x].value==a){
        x++;
        c--;
        if(c==0) return(0);
    }
    return(mmm[x].count);
}


int main(){
    long int n;
    long int a[N];

    long int i,j;
    long int c;

    hash_clear();

    scanf("%ld",&n);
    for(i=0;i<n;i++){
        scanf("%ld",&a[i]);
    }

    c=0;
    for(i=0;i<n-1;i++){
        hash_inc(a[i]+i);
    }

    for(j=1;j<n;j++){            

            if(j-a[j]>=0) c+=hash_getc(j-a[j]);
    }

    printf("%ld\n",c);




}


