#include<iostream>
using namespace std;
int a[123456];
const int mod=998244353;
int fun(int x,int y){
	int res=1;
	for(int i=1;i<=x;i++)
	{
		res*=y%mod;
	}
	return res%mod;
}
int main()
{
	int n;
	cin>>n;
	int x,sum=1,s=0;
	for(int i=1;i<=n;i++){
		cin>>x;
		if(i==1&&x!=0)	sum=0;
		a[x]++;
		s=max(s,x);
	}
	for(int i=s;i>0;i--)
	{
		if(a[i]==0)	sum=0;
		if(i>1)
			sum=sum*fun(a[i],a[i-1])%mod;
	}
	if(a[0]>1) sum=0;
	cout<<sum%mod<<endl;
	return 0;
}