#include <stdio.h>
#define MAX_N 100000
int N;
int s[MAX_N + 1];
int delta[MAX_N + 1];
int MIN(int X, int Y) {
return X < Y ? X : Y;
}
int main(void) {
int i, r = 0, c = 0;
FILE *f = fopen("numarare.in", "r");
int last, curr;
fscanf(f, "%d %d", &N, &last);
for (i = 1; i < N; i++) {
fscanf(f, "%d", &curr);
s[i] = curr - last;
last = curr;
}
/* Algoritmul lui Manacher. */
long long int ans = 0;
for (i = 1; i < N; i++) {
if (i < r) {
delta[i] = MIN(delta[2 * c - i], r - i);
}
while (i - delta[i] - 1 > 0 && i + delta[i] + 1 < N && s[i - delta[i] - 1] == s[i + delta[i] + 1]) {
delta[i]++;
}
if (i + delta[i] > r) {
r = i + delta[i];
c = i;
}
ans += delta[i] + 1;
}
freopen("numarare.out", "w", stdout);
fprintf(stdout, "%lld\n", ans);
fclose(stdout);
return 0;
}