#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 5;
long long int ar[maxn];
int main() {
  int n, x;
  long long int l, r, su;
  while (~scanf("%d", &n)) {
    scanf("%lld", &ar[0]);
    for (int i = 1; i < n; i++) {
      scanf("%d", &x);
      ar[i] = ar[i - 1] + x;
    }
    if (ar[n - 1] % 3 == 0) {
      su = l = r = 0;
      for (int i = 0; i < n; i++) {
        if (i > 1 && (2 * ar[n - 1] == 3 * ar[i - 1])) {
          su += l;
          if ((ar[i - 1] * 3 == ar[n - 1]) && i < (n - 1)) su--;
        }
        if ((ar[i] * 3 == ar[n - 1]) && i < (n - 2)) l++;
      }
      printf("%lld\n", su);
    } else
      printf("0\n");
  }
}
