#include <iostream> #include <queue> #include <algorithm>//循环里放递归.... using namespace std; int counts=0; void dfs(int a[],int n,int sum,int pos){ if (sum==40){ counts++; return; } for(int i=pos;i<n;i++)dfs(a,n,sum+a[i],i+1); } int main(){ int n; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n); dfs(a,n,0,0); cout<<counts<<endl; return 0; }