#include <stdio.h>
int visited[21]={0};
int ans=0;
int n;
void DFS(int *a,int i,int V){
if(i>=n){
return;
}
//visited[i]=1;
if(V==a[i]){
ans++;
//return ;
//V-=a[i];
/*for(int j=0;j<n;j++){
if(!visited[j]){
DFS(a, j, V);
}
}*/
}
if(V>a[i]){
V-=a[i];
for(int j=i+1;j<n;j++){
//if(!visited[j]){
DFS(a, j, V);
//}
}
}
if(V<a[i]){
for(int j=i+1;j<n;j++){
//if(!visited[j]){
DFS(a, j, V);
//}
}
}
}
int main() {
int a[21]={0};
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++){
//if(!visited[i])
DFS(a,i,40);
}
printf("%d",ans);
}