#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;

}