There are N integers, A_1, A_2, ..., A_N, written on the blackboard.

You will choose one of them and replace it with an integer of your choice between 1 and 10^9 (inclusive), possibly the same as the integer originally written.

Find the maximum possible greatest common divisor of the N integers on the blackboard after your move.

Constraints

* All values in input are integers.
* 2 \leq N \leq 10^5
* 1 \leq A_i \leq 10^9

Output

Input is given from Standard Input in the following format:


N
A_1 A_2 ... A_N

Output

Print the maximum possible greatest common divisor of the N integers on the blackboard after your move.

Examples

Input

3
7 6 8


Output

2


Input

3
12 15 18


Output

6


Input

2
1000000000 1000000000


Output

1000000000
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		sc.nextLine();
		String s = sc.nextLine();
		Board b = new Board(s);
		int maxGcd = 0;
		int gcd;
		for(int i = 0; i < b.length; i++) {
			gcd = b.getBoardGcd(i);
			if(maxGcd < gcd) {
				maxGcd = gcd;
			}
		}
		System.out.println(maxGcd);
	}
}
class Board{
	int[] board;
	int length;
	boolean[] dup;
	int dupGcd = -1;
	Board(String s){
		String[] sAry = s.split(" ");
		board = new int[sAry.length];
		dup = new boolean[sAry.length];
		length = board.length;
		for(int i = 0; i < sAry.length; i++) {
			board[i] = Integer.parseInt(sAry[i]);
			dup[i] = false;
			for(int i2 = 0; i2 < i; i2++) {
				if(board[i] == board[i2]){
					dup[i] = true;
					break;
				}
			}
		}
	}
	int getBoardGcd(int n) {
		if(dup[n] && dupGcd > 0) {
			return dupGcd;
		}
		int gcd = -1;
		for (int i = 0; i < board.length; i++) {
			if(i != n) {
				gcd = getGcd(gcd, board[i]);
			}
		}
//		System.out.println(gcd);
		if(dup[n]) {
			dupGcd = gcd;
		}
		return gcd;
	}
	int getGcd(int i, int i2) {
		int max = Math.max(i, i2);
		int min = Math.min(i, i2);
		if(min < 0) {
			return max;
		}
		int mod = max % min;
		if(mod == 0) {
			return min;
		}
		return getGcd(min, mod);
	}
}
