#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
int n, arr[N];
long long sum[N];
set<pair<int, int> > st;
inline void check(int l, int r) {
  if ((r - l + 1) >= 3 && (arr[l] ^ arr[r]) == sum[r - 1] - sum[l]) {
    st.insert(make_pair(l, r));
  }
}
vector<int> v;
void solve(int l, int r, int bit) {
  if (l > r) return;
  v.clear();
  for (int i = l; i <= r; i++) {
    if (((arr[i] >> bit) & 1) == 1) v.push_back(i);
  }
  int j = -1;
  for (int i = l; i <= r; i++) {
    while (j + 1 < (int)v.size() && v[j + 1] < i) j++;
    if (j > -1) check(v[j], i);
    if (j > 0) check(v[j - 1], i);
    if (j + 1 < (int)v.size()) check(i, v[j + 1]);
    if (j + 2 < (int)v.size()) check(i, v[j + 2]);
    if (j + 3 < (int)v.size()) check(i, v[j + 3]);
  }
  j = l - 1;
  for (int i = l; i <= r; i++) {
    if (((arr[i] >> bit) & 1) == 1) {
      solve(j + 1, i - 1, bit - 1);
      j = i;
    }
  }
  if (j + 1 <= r) solve(j + 1, r, bit - 1);
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &arr[i]);
    sum[i] = sum[i - 1] + arr[i];
  }
  solve(1, n, 29);
  cout << (int)st.size() << endl;
  return 0;
}
