#include <bits/stdc++.h>
using namespace std;
long long power(long long b, long long e, long long m) {
  if (e == 0) return 1;
  if (e & 1) return b * power(b * b % m, e / 2, m) % m;
  return power(b * b % m, e / 2, m);
}
long long power(long long b, long long e) {
  if (e == 0) return 1;
  if (e & 1) return b * power(b * b, e / 2);
  return power(b * b, e / 2);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  int a[n];
  for (int i = 0; i < n; i++) cin >> a[i];
  map<int, multiset<int>> s;
  for (int i = 0; i < n; i++) {
    map<int, int> m;
    int temp = a[i];
    for (int j = 2; j * j <= temp; j++) {
      if (temp % j == 0) {
        while (temp % j == 0) {
          temp /= j;
          m[j]++;
        }
        s[j].insert(m[j]);
      }
    }
    if (temp != 1) {
      m[temp]++;
      s[temp].insert(m[temp]);
    }
  }
  long long ans = 1;
  for (auto i = s.begin(); i != s.end(); i++) {
    if ((i->second).size() == n) {
      auto it = i->second.begin();
      it++;
      ans *= (power(i->first, *it));
    } else if (i->second.size() == n - 1) {
      ans *= (power(i->first, *i->second.begin()));
    }
  }
  cout << ans;
  return 0;
}
