Problem D: 平衡的子集

Time Limit: 1 Sec Memory Limit: 256 MB

Description

夏令营期间,营委会计划举办一次拔河比赛,以庆祝我们敬爱的李老爷爷八十大寿。为了使得比赛最激烈,我们希望将参加比赛的营员按照力气值之和分成尽可能平衡的两组。

现在假设夏令营有 N 个人,每个人的力气为 M(i)。

请大家计算:要使分成的两组力气之和完全相等,有多少种分法?

Input

第一行一个整数 N,表示人数。

接下来 N 行,每行一个整数 M(i)。

Output

输出一行一个整数,表示一共有多少种选法。

Sample Input

4
1
2
3
4

Sample Output

3

HINT

样例解释:

对于这 4 个人,有以下 3 种选法:

第一种选出{1,2,3},分成{1,2}和{3}两组;

第二种选出{1,3,4},分成{1,3}和{4}两组;

第三种选出{1,2,3,4},分成{1,4}和{2,3}两组。 

注:选出能够划分的营员即算是一种方案,具体怎么分成两组,都视作同一种方案。

数据规模:

对于 40%的数据满足:1 <= M(i) <= 1000;

对于 100%的数据满足:2 <= N <= 20,1 <= M(i) <= 100000000。