만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

최대 GCD

시간 제한1초메모리 제한1024 MB

요약
길이 n인 배열에서 0이 되지 않도록 나머지 연산을 여러 번 적용해 모든 원소를 같은 수의 배수로 만들 때, 가능한 최대 GCD를 구합니다.
난이도

보통10점 중 5점

유형
수학, 정수론, 배열
정답자
아직 제출이 없습니다

문제

그래미는 길이가 nn인 배열을 가지고 있다. 그녀는 최근 최대공약수(GCD)의 개념을 배웠다. 배열의 GCD는 배열의 모든 원소가 dd로 나누어떨어지는 최대의 정수 dd이다. 그래미는 배열을 아름답게 만들기 위해 GCD를 가능한 한 크게 만들고 싶어 한다.

당신은 그래미가 배열을 아름답게 만들도록 도와야 한다. 각 원소에 대해 나머지 연산을 0번 이상 할 수 있다. 한 번의 연산에서는 원소 aia_i (1≤i≤n1 \leq i \leq n)와 다른 정수 xx를 골라 aia_i를 ai mod xa_i \bmod x로 바꾼다. 그래미는 배열에 0이 들어가는 것을 원하지 않으므로, 나머지 연산으로 aia_i를 0으로 바꿀 수 없다.

나머지 연산을 몇 번 하든 상관없을 때, 배열의 GCD가 가질 수 있는 최댓값을 구하라.

입력

첫째 줄에 배열의 원소 개수를 나타내는 정수 nn (1≤n≤1051 \leq n \leq 10^5)이 주어진다.

둘째 줄에는 배열의 초기 원소인 양의 정수 aia_i (1≤ai≤1091 \leq a_i \leq 10^9) nn개가 주어진다.

출력

나머지 연산을 몇 번 하든 상관없을 때, 배열의 GCD가 가질 수 있는 최댓값을 한 개의 정수로 출력한다.

예제1

  1. 예제 1

    입력
    3
    3 10 7
    
    예상 출력
    3