#include<iostream>
using namespace std;
const int N=1e5+10;
int main()
{
int n,i=1;
int a[N]={0},b[N]={0};//利用an存数组元素,bn为an的前n项和
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];//桉顺序输入an
b[i]=b[i-1]+a[i];//bn是an的前n项和
}
if(b[n]%3)//如果an的n项和取余3不为0
{
cout<<"0";//这样不可能出现截取三段相等的情况,直接输出0
return 0;
}
int cnt=0;
long long res=0;
for(i=3;i<=n;i++)
{
if(b[i-2]==b[n]/3)
cnt++;//枚举第二个间断点
if(b[n]-b[i-1]==b[n]/3)
res+=cnt;//如果满足第一个间断点,加上第二个间断点的情况
}
cout<<res;
return 0;
}