#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 100005;
long long gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
inline int mul(int x, int y) { return (long long)x * y % 998244353; }
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> a(n);
  for (int i = 0; i < (int)(n); ++i) {
    cin >> a[i];
  }
  sort((a).begin(), (a).end());
  int ans = 1;
  for (int i = 0; i < (int)(n); ++i) {
    ans = ans * gcd(a[i], i) % 998244353;
  }
  cout << ans << "\n";
  return 0;
}
