#include <iostream>
using namespace std;
#include<vector>
#include<map>
#define ll long long
int main(){
    vector<ll>v;
    map<ll,ll>m;
   ll n;
   ll sumpair=0;
   cin>>n;
   for(int i=0;i<n;i++){//Aj-Ai=j-i 变形为 Aj-j=Ai-i 
    int a;              // 当(i,j)为谐距下标对 An-n一定相等
     cin>>a;            //  统计 An-n次数count   根据组合C 可组合出count!/2*1    
    v.push_back(a);
   }
   for(int i=0;i<n;i++){
      m[v[i]-i]++; 
   }
   for(auto [val,count]:m){
       if(count>1){
          sumpair+=(count*(count-1))/2;
       }
   }
   cout<<sumpair;

}








// #include <iostream>
// using namespace std;
// #include<vector>

// int main() {
//    vector<int>v;
//    int n;
//    long long sum=0;
//    cin>>n;
//    for(int i=0;i<n;i++){
//     int a;
//     cin>>a;
//     v.push_back(a);
//    }
//    for(int i=0;i<n;i++){
//     for(int j=i+1;j<n;j++){
//         if(v[j]-v[i]==j-i){
//              sum++;
//         }
//     }
//    }
//    cout<<sum;
// }
// // 64 位输出请用 printf("%lld")