#include <bits/stdc++.h>
using i64 = long long;

i64 gcd(i64 a, i64 b) {
    if (b > a) std::swap(a, b);
    return a % b ? gcd(b, a % b) : b;
}

int main() {
    i64 n;
    const i64 mod = 998244353;
    std::cin >> n;
    std::vector<i64> a(n);
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
    }
    std::sort(a.begin(), a.end());

    i64 ret = a[0];
    for (i64 i = 1; i < n; i++) {
        ret = ret * gcd(a[i], i) % mod;
    }

    std::cout << ret << std::endl;

    return 0;
}