func_code_string: #include <bits/stdc++.h>   using namespace std;   const int Maxn = 200010;   const int inf = 2147483647;   const double pi = acos(-1.0);   int read() {     int x = 0, f = 1;     char ch = getchar();     while (ch <  0  || ch >  9 ) {       if (ch ==  - ) f = -1;       ch = getchar();     }     while (ch >=  0  && ch <=  9 ) x = x * 10 + ch -  0 , ch = getchar();     return x * f;   }   int n, pre[Maxn], nxt[Maxn], ed;   long long a[Maxn], sum[Maxn];   void ins(int l, int m, int r) {     pre[m] = l, nxt[m] = r;     if (l != -1) nxt[l] = m;     if (r != -1) pre[r] = m;   }   int main() {     n = read();     sum[0] = 0;     for (int i = 1; i <= n; i++) a[i] = read(), sum[i] = sum[i - 1] + a[i];     int ans = 0;     pre[1] = nxt[1] = -1;     ed = 1;     for (int i = 2; i <= n; i++) {       int t = ed, st;       bool flag = false;       while (t != -1) {         if (!flag && a[t] + sum[t] < sum[i] + a[i]) {           flag = true;           if (nxt[t] == -1) ed = i;           ins(t, i, nxt[t]);         }         if (a[t] + sum[t] >= sum[i - 1] - a[i]) {           if ((a[i] ^ a[t]) == sum[i - 1] - sum[t] && i - t >= 2) ans++;         } else           break;         st = t;         t = pre[t];       }       if (!flag) ins(-1, i, st);     }     printf( %d , ans);   }   