#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; if (!(cin >> n)) return 0; vector s(n); for (int i = 0; i < n; ++i) cin >> s[i]; long long ans = 0; // 最初の for i in range(n) for (int i = 0; i < n; ++i) { int left = 0; int right = min(i, n - i - 1) + 1; while (right > left + 1) { int mid = (left + right) / 2; bool p = true; int start = max(mid - 10, 0); for (int j = start; j <= mid; ++j) { if (s[i + j] + s[i - j] != s[i] * 2) { p = false; break; // Python の元ループは break しないが、ここで早期脱出しても結果は同じです } } if (p) left = mid; else right = mid; } ans += left; } // 次の for i in range(1, n) for (int i = 1; i < n; ++i) { int left = 1; int right = min(i, n - i) + 1; while (right > left + 1) { int mid = (left + right) / 2; bool p = true; int start = max(mid - 10, 1); for (int j = start; j <= mid; ++j) { if (s[i - j] + s[i + j - 1] != s[i - 1] + s[i]) { p = false; break; } } if (p) left = mid; else right = mid; } ans += left; } cout << (ans + n) << '\n'; return 0; }