#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <vector>
#include <stdlib.h>
#include <queue>
#include <memory.h>
using namespace std;
#define ll long long
ll dp[11][11][11][11][11][6][6];
int cnt[6], n, s;
ll dy(int a, int b, int c, int d, int e, int pre, int ppre)
{
if (a + b + c + d + e == s)return 1;
ll &ret = dp[a][b][c][d][e][pre][ppre];
if (ret != -1)return ret;
ret = 0;
if (cnt[1] > a && pre != 1 && ppre != 1)ret += dy(a + 1, b, c, d, e, 1, pre);
if (cnt[2] > b&& pre != 2 && ppre != 2)ret += dy(a, b + 1, c, d, e, 2, pre);
if (cnt[3] > c&& pre != 3 && ppre != 3)ret += dy(a, b, c + 1, d, e, 3, pre);
if (cnt[4] > d&& pre != 4 && ppre != 4)ret += dy(a, b, c, d + 1, e, 4, pre);
if (cnt[5] > e&& pre != 5 && ppre != 5)ret += dy(a, b, c, d, e + 1, 5, pre);
return ret;
}
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &cnt[i]);
s += cnt[i];
}
memset(dp, 0xff, sizeof(dp));
printf("%lld\n", dy(0, 0, 0, 0, 0, 0, 0));
}
RECENT COMMENT