#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int sum = 0;
bool b[30];
void dfs(int a[], int n, int cur, int pos) {
if (cur == 40) {
sum++;
return ;
}
for (int i = pos; i < n; i++) {
if (b[i] && a[i] + cur > 40)continue;
b[i] = true;
if (cur + a[i] <= 40) {
dfs(a, n, cur + a[i], i + 1);
}
b[i] = false;
}
}
int main() {
int n;
cin >> n;
int a[30];
memset(b, false, sizeof(b));
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);
dfs(a, n, 0, 0);
cout << sum << endl;
}