#include <bits/stdc++.h>
using namespace std;
int solve(vector<int>& a){
int n = a.size();
int totalSum = accumulate(a.begin(),a.end(),0);
if(totalSum%3!=0)return 0;
int y = totalSum/3;
unordered_map<int,int>prefixSum;
int c=0,sum=0;
for(int i=0;i<n-1;i++){
sum += a[i];
if(sum == 2*y && prefixSum.count(y)!=0){
c += prefixSum[y];
}
prefixSum[sum]++;
}
return c;
}
int main() {
int n;
cin>>n;
vector<int>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<solve(a);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKaW50IHNvbHZlKHZlY3RvcjxpbnQ+JiBhKXsKCWludCBuID0gYS5zaXplKCk7CglpbnQgdG90YWxTdW0gPSBhY2N1bXVsYXRlKGEuYmVnaW4oKSxhLmVuZCgpLDApOwoJaWYodG90YWxTdW0lMyE9MClyZXR1cm4gMDsKCWludCB5ID0gdG90YWxTdW0vMzsKCXVub3JkZXJlZF9tYXA8aW50LGludD5wcmVmaXhTdW07CglpbnQgYz0wLHN1bT0wOwoJZm9yKGludCBpPTA7aTxuLTE7aSsrKXsKCQlzdW0gKz0gYVtpXTsKCQlpZihzdW0gPT0gMip5ICYmIHByZWZpeFN1bS5jb3VudCh5KSE9MCl7CgkJCWMgKz0gcHJlZml4U3VtW3ldOwoJCX0KCQlwcmVmaXhTdW1bc3VtXSsrOwoJfQoJcmV0dXJuIGM7Cn0KCmludCBtYWluKCkgewoJaW50IG47CgljaW4+Pm47Cgl2ZWN0b3I8aW50PmEobik7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQljaW4+PmFbaV07Cgl9Cgljb3V0PDxzb2x2ZShhKTsKCXJldHVybiAwOwp9