/* 十分简单的一个题目,无非就是一个带重复的排列,可惜,哥的数学知识不知道被什么给吃了,带重复的全排列的搞不定了,直接弱爆了,对于重复排列如何理解现在还不是很懂,求强势证明 !*/
import java.io.*;
import java.util.*;
import java.math.*;
public class Main
{
static int m=0,c=0,a[]=new int[30];
public static void main(String[] args)
{
//System.out.println("Hello World!");
int nt;
BigInteger n,k;
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
m=cin.nextInt();
if(m==0) break;
nt=0;
n=new BigInteger("0");
k=new BigInteger("1");
for(int i=0 ; i<m ; i++)
{
a[i]=cin.nextInt();
k=k.multiply(f(a[i]));
//System.out.println(k);
nt=nt+a[i];
}
n=f(nt);
n=n.divide(k);
System.out.println(n);
}
}
public static BigInteger f(int t)
{
BigInteger r = new BigInteger("1");
for(int i=1 ; i<=t ; i++)
{
String s=Integer.toString(i);
BigInteger temp = new BigInteger(s);
r=r.multiply(temp);
}
return r;
}
}