#include <stdio.h>
int main(void){
// 몇 개의 자연수를 입력할지 입력
int count;
scanf("%d", &count);
// 자연수를 저장할 배열 및
// 입력받은 자연수 중 가장 작은 수 저장
int num_list[count];
int min = 100000000;
// count개수 만큼 자연수 입력 받기
for(int i = 0; i < count; i++){
int num = 0;
scanf("%d", &num);
// 자연수 중 최솟값 찾기
if(num < min){
min = num;
}
// 배열에 자연수 저장
num_list[i] = num;
}
// 공약수 찾기
/* 1번째 for문 - 최솟값 기준으로 1부터 min까지
2번째 for문 - 자연수배열에 있는 모든 수와 %연산을 하여
0으로 나눠지지 않으면 is_common_divisor 0으로 바꾸기*/
for(int j = 1; j <= min; j++){
int is_common_divisor = 1;
for(int k = 0; k < count; k++){
if(num_list[k] % j != 0){
is_common_divisor = 0;
}
}
// 공약수인 j만 출력
if(is_common_divisor){
printf("%d\n", j);
}
}
return 0;
}