编程题
### 问题描述
乐乐有一个立方体和 $N$ 种颜色的油漆。油漆的数量不同。对于每种油漆,乐乐知道可以用该油漆涂色的立方体面的数量。
乐乐要涂色这个立方体,使得任何公共边的两个面都用不同的颜色涂成。乐乐需要计算可以获得的不同颜色的立方体的数量。如果一个立方体可以旋转成另一个立方体,则认为它们是相同的。
### 输入格式
第一行包含一个整数 $N$,表示油漆的种类数。
第二行包含 $N$ 个值,表示可以用每种油漆涂色的立方体面的数量 $x_i$。
### 输出格式
输出一个整数,表示可以获得的立方体数量的值。
### 样例输入
```
8
1 1 1 1 1 1 1 2
```
### 样例输出
```
945
```
### 评测数据规模
$1 \leq N \leq 1000$,$1 \leq x_i \leq 6$。