#include
<iostream>
#include
<map>
using
namespace std;
int
main()
{
int n;
while (cin>>n&&n!=0)
{
long long f=1;
for (int i=2;i<=n;i++) f*=i;
map<int,int> m;
int t;
for (int i=0;i<n;i++)
{
cin>>t;
m[t]++;
}
map<int,int>::iterator it;
for(it=m.begin();it!=m.end();it++)
for(int i=2;i<=it->second;i++)
f/=i;
cout<<f<<endl;
}
return 0;
}