import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;
import std.bigint;
import std.numeric;


void main()
{
  auto n = readln.chomp.to!int;
  auto a = readln.chomp.split.to!(int[]);
  int res = 1;
  
  foreach (i; 0..n) {
    auto tmp = a[i];
    a[i] = i == n - 1 ? a[n-2] : a[n-1];
    auto g = gcd(a[0], a[1]);
    foreach (j; 2..n) {
      g = gcd(g, a[j]);
    }
    res = max(res, g);
    a[i] = tmp;
  }
  res.writeln;
}
