Page not loading? Try clicking here.
Placeholder

#1612

공통인수 1s 64MB

Problems

N개의 2이상 1,000,000,000 정수 집합이 주어질 때, 

1보다 큰 수 중에서 집합의 숫자를 가장 많이 나누어떨어지게 하는 숫자를 찾는 프로그램을 작성하라. 

 

예를 들어 정수 집합에 {2, 3, 4, 6} 이라는 숫자가 존재할 경우, 

집합의 숫자를 나누어떨어지게 하는 숫자는 

 

2(2,4,6을 나눠떨어지게 함), 

3(3,6을 나누어떨어지게 함), 

4, 

6이 존재하는데, 

 

이 중에서 2가 가장 많은 숫자를 나눠떨어지게 하므로 답은 2가 된다.


Input

입력은 20개 이하의 테스트 케이스로 이루어진다. 한 줄에는 하나의 테스트 케이스가 입력되는데, 테스트 케이스의 첫 번째 숫자는 집합을 이루는 원소의 개수 N(N≤50)이 입력되며, 그 다음에는 N개의 정수 집합을 이루는 숫자가 입력된다. 원소의 개수에 0이 입력될 경우 입력을 종료한다.


Output

각 테스트 케이스에 대해 집합의 숫자를 가장 많이 나눠떨어지게 하는 숫자를 테스트 케이스 순서대로 한 줄에 하나씩 출력한다. 만약에 나눠떨어지는 숫자의 개수가 같은 수가 여럿 있을 경우 그중 가장 큰 숫자를 출력한다.

집합에 포함되어 있지 않은 수가 정답일 수 있음에 유의한다.

Example

4 2 3 4 6

3 2 3 6
4 2 3 5 7
8 2 3 5 6 7 9 11 12
0
2

3
7
3
You must sign in to write code.