#include <bits/stdc++.h>
using namespace std;
const int N = 110;
const int M = 2e5 + 10;
int n;
bool f[N][M]; //dp的集合
int w[N]; // 每一个砝码的重量
int sum; // 记录全部砝码加起来的总重量
int main()
{
cin >> n;
for (int i = 1; i <= n; i ++ ) // 读入每一个砝码的重量
{
cin >> w[i];
sum += w[i];
}
f[0][0] = true; // 处理边界情况,用0个砝码构成重量为0是存在的;
for (int i = 1; i <= n; i ++ ) // 状态计算
for (int j = 0; j <= sum; j ++ )
f[i][j] = f[i - 1][j] || f[i - 1][j + w[i]] || f[i - 1][abs(j - w[i])];
int res = 0;
for (int i = 1; i <= sum; i ++ )
if (f[n][i]) res ++ ;
cout << res << endl;
return 0;
}