from math import gcd N = int(input()) A = list(map(int,input().split())) N0 = 1000000 P = [1] * (N0+1) for i in range(2, N0 + 1): if P[i] == 1: for j in range(i, N0 + 1, i): if P[j] == 1: P[j] = i from collections import defaultdict dic0 = defaultdict(int) for a in A: dic = defaultdict(int) while P[a] > 1: dic[P[a]] += 1 a //= P[a] Q = [1] for k,v in dic.items(): Q2 = [] for j in range(v): for q in Q: Q2.append(q * k ** (j + 1)) Q += Q2 for q in Q: if q > 1: dic0[q] += 1 X = [1] * (N+1) for k,v in dic0.items(): X[v] = max(X[v],k) ans = 0 for i in reversed(range(1,N+1)): ans = max(ans,X[i]) print(ans)