import bisect n = int(input()) num = [ int(v) for v in input().split() ] ans = 1 def cumsum(inlist): s = 0 outlist = [] for i in inlist: s += i outlist.append(s) return outlist def divisors(n): divisors_list = [] for i in range(1, int(n**0.5)+1): if n % i == 0: divisors_list.append(i) divisors_list.append(n//i) divisors_list.sort() return divisors_list num_cum = cumsum(num) m = num_cum[-1] for i in divisors(m): for j in range(1, m//i+1): status = True k = i*j if bisect.bisect_left(num_cum, k) == bisect.bisect_right(num_cum, k): status = False break if status == True: print(k//i) break