#include #include #include using namespace std; vector kai(vector &s) { int n = s.size(), c = 0; vector ret(n); for (int i = 0; i < n; ++i) { int l = 2 * c - i; if (l >= 0 && c + ret[c] > i + ret[l]) ret[i] = ret[l]; else { int j = c + ret[c] - i; while (i - j >= 0 && i + j < n && s[i - j] == s[i + j]) ++j; ret[i] = j; c = i; } } return ret; } int main() { int n; cin >> n; vector a(n); for (int i = 0; i < n; ++i) cin >> a[i]; vector d(2 * n - 1); for (int i = 0; i < n - 1; ++i) d[i * 2 + 1] = a[i + 1] - a[i]; auto res = kai(d); long long ans = 0; for (int i = 0; i < 2 * n - 1; ++i) ans += (res[i] + 1) / 2; cout << ans << endl; }