#include <bits/stdc++.h>
#include <algorithm>
#include <string>
using namespace std;
int gcd(int a, int b){
	return (b > 0)? gcd(b, a % b) : a ;
}
// N=4くらいまで書き出して眺めると多項式が見えてくる．証明は帰納法で．
int main() {
	int N; 
	cin >> N; 
	int A[114514] = {}; 
	for(int i = 0; i < N; i++){
		cin >> A[i];
	}
	sort(A, A+N); 
	long long int ans = 1; 
	long long int P = 998244353; 
// 1つずつ順番にかけていくことを考えると以下が帰納法で示せる．
	for(int i = 0; i < N; i++){
		int g = gcd(i, A[i]); 
		ans = (ans * (long long) g) % P; 
	}
	cout << ans << endl;
}