No tag edit access

D. Ghd

time limit per test

4 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputJohn Doe offered his sister Jane Doe find the gcd of some set of numbers *a*.

Gcd is a positive integer *g*, such that all number from the set are evenly divisible by *g* and there isn't such *g*' (*g*' > *g*), that all numbers of the set are evenly divisible by *g*'.

Unfortunately Jane couldn't cope with the task and John offered her to find the ghd of the same subset of numbers.

Ghd is a positive integer *g*, such that at least half of numbers from the set are evenly divisible by *g* and there isn't such *g*' (*g*' > *g*) that at least half of the numbers from the set are evenly divisible by *g*'.

Jane coped with the task for two hours. Please try it, too.

Input

The first line contains an integer *n* (1 ≤ *n* ≤ 10^{6}) showing how many numbers are in set *a*. The second line contains space-separated integers *a*_{1}, *a*_{2}, ..., *a*_{n} (1 ≤ *a*_{i} ≤ 10^{12}). Please note, that given set can contain equal numbers.

Please, do not write the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the %I64d specifier.

Output

Print a single integer *g* — the Ghd of set *a*.

Examples

Input

6

6 2 3 4 5 6

Output

3

Input

5

5 5 6 10 15

Output

5

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jun/26/2017 15:14:16 (c2).

Desktop version, switch to mobile version.

User lists

Name |
---|