'use strict'

function gcd(a,b){
    if(b===0){
        return a;
    }
    return gcd(b,a%b)
}

function Main(input) {
    let temp = input.trim().split('\n');
    let n = parseInt(temp[0]);
    let a = temp[1].split(' ').map((v)=>(parseInt(v)));

    a.sort((a,b)=>a-b);
    let x=a[1];
    let y=a[0];
    let z=a[0];

    for(let i=1;i<n;i++){
        x = z;
        y = gcd(Math.min(y,a[i]),Math.max(y,a[i]));
        z = gcd(z,a[i]);

        x = Math.max(x,y);
        y = x;
    }
    console.log(Math.max(x,y,z));

}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
