#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")