Uses Crt;
Var n,i,t: longint;
a: array [1..10000] of longint;
////
Function UCLN(a,b: longint): longint;
var tam: longint;
begin
While b > 0 do
begin
tam:= a;
a:= b;
b:= tam mod b;
end;
UCLN:= a;
end;
////
begin
clrscr;
Read(n);
For i:= 1 to n do
Read(a[i]);
t:= a[1];
For i:= 2 to n do
t:= UCLN(t,a[i]);
Write(t);
end.