#include <bits/stdc++.h>
using namespace std;
vector<long long> v[200005];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n, i, j, x, c, maxp;
  cin >> n;
  maxp = 0;
  for (i = 0; i < n; i++) {
    cin >> x;
    for (j = 2; j * j <= x; j++) {
      if (x % j == 0) {
        c = 0;
        while (x % j == 0) {
          x = x / j;
          c++;
        }
        v[j].push_back(c);
        maxp = max(maxp, j);
      }
    }
    if (x != 1) v[x].push_back(1);
    maxp = max(maxp, x);
  }
  long long ans = 1;
  for (i = 2; i <= maxp; i++) {
    sort(v[i].begin(), v[i].end());
    if (v[i].size() == n) {
      ans = ans * pow(i, v[i][1]);
    }
    if (v[i].size() == n - 1) {
      ans = ans * pow(i, v[i][0]);
    }
  }
  cout << ans;
  return 0;
}
