#include using namespace std; using ll = long long; vector manacher(vector &v) { vector r(v.size()); int i = 0, j = 0; while(i < v.size()) { while(i - j >= 0 and i + j < v.size() and v[i - j] == v[i + j]) ++j; r[i] = j; int k = 1; while(i - k >= 0 and k + r[i - k] < j) r[i + k] = r[i - k], ++k; i += k, j -= k; } return r; } int main(void) { int N; cin >> N; vector A(N); for(int i = 0; i < N; ++i) cin >> A[i]; if(N == 1) { cout << 1 << "\n"; return 0; } const int M = 2 * N - 3; vector B(M, INT_MAX); for(int i = 0; i < N - 1; ++i) B[i * 2] = A[i + 1] - A[i]; vector v = manacher(B); ll ans = 0; for(int i = 0; i < M; i += 2) ans += (v[i] + 1) / 2; for(int i = 1; i < M; i += 2) ans += v[i] / 2; cout << ans + N << "\n"; return 0; }