#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
ll n;
ll a[44];
map <ll, ll> mp;
ll ans;
void dfs(ll cur, ll sub, ll x, bool flag)
{
if(cur == x)
{
if(!flag)
mp[sub]++;
else
ans += mp[-sub];
return ;
}
dfs(cur + 1, sub + a[cur], x, flag);
dfs(cur + 1, sub - a[cur], x, flag);
dfs(cur + 1, sub, x, flag);
return ;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n;
for(int i = 1; i <= n; i++)
cin >> a[i];
dfs(1, 0, n / 2 + 1, 0);
dfs(n / 2 + 1, 0, n + 1, 1);
ans--;
cout << ans / 2;
return 0;
}