Trong thời đại dữ liệu lớn, khả năng xử lý nhanh và chính xác khối lượng thông tin khổng lồ là một yêu cầu thiết yếu. Với công cụ là lập trình và thuật toán, Tin học cho phép chúng ta tiếp cận và giải quyết những bài toán tưởng chừng đơn giản nhưng trở nên đầy thử thách khi dữ liệu tăng đột biến.
Trong 1 kỳ thi tuyển sinh nhằm đánh giá khả năng lập trình của thí sinh, mỗi thí sinh được cung cấp 1 dãy số gồm ~n~ số nguyên. Nhiệm vụ của thí sinh là viết 1 chương trình để tìm ước chung lớn nhất (ƯCLN) của toàn bộ dãy số này. Dãy có thể chứa các số nguyên âm và có kích thước rất lớn, vì vậy thuật toán cần được tối ưu để xử lý hiệu quả với dữ liệu lớn.
INPUT
Dòng đầu tiên nhập vào số nguyên ~n~ (~1 \le n \le 10^5~) - số phần tử trong dãy.
Dòng thứ hai nhập vào ~n~ số nguyên ~a_1, a_2, ..., a_n~ (~-10^6 \le a_i \le 10^6~), cách nhau bởi ít nhất 1 dấu cách.
OUTPUT
In ra màn hình 1 số nguyên duy nhất - là ƯCLN của tất cả các phần tử trong dãy.
SAMPLE INPUT
5
12 -24 36 -60 48
SAMPLE OUTPUT
12
Bình luận