#include <stdio.h>
#include <stdlib.h>
int FiQsort(const void* PvA, const void* PvB) {
long long ViA = *(const long long*)PvA;
long long ViB = *(const long long*)PvB;
if (ViA < ViB) return -1;
else if (ViA == ViB) return 1;
else return 0;
}
int main() {
long long ViNu = 0;
long long ViNt = 0;
long long ViN;
scanf("%lld", &ViN);
long long* AiN = malloc(sizeof(long long) * ViN);
long long* AiNL = malloc(sizeof(long long) * ViN);
for (long long ViLoop = 0; ViLoop < ViN; ViLoop++) {
scanf("%lld", &AiN[ViLoop]);
AiNL[ViLoop] = AiN[ViLoop] - ViLoop;
}
qsort(AiNL, ViN, sizeof(long long), FiQsort);
for (long long ViLoop = 0; ViLoop < ViN; ViLoop++) {
if (AiNL[ViLoop] == AiNL[ViLoop + 1]) {
ViNt++;
continue;
} else if (ViNt > 0) {
ViNu = ViNu + (ViNt * (ViNt + 1)) / 2;
}
ViNt = 0;
}
printf("%lld", ViNu);
free(AiN);
free(AiNL);
return 0;
}