import sys sys.setrecursionlimit(10 ** 6) int1 = lambda x: int(x) - 1 p2D = lambda x: print(*x, sep="\n") def MI(): return map(int, sys.stdin.readline().split()) def LI(): return list(map(int, sys.stdin.readline().split())) def LLI(rows_number): return [LI() for _ in range(rows_number)] def main(): n = int(input()) aa = LI() s = sum(aa) div = [] for d in range(1, s): if d ** 2 > s: break if s % d: continue if d >= s // n: div.append(d) if s // d >= s // n: div.append(s // d) if len(div) > 1 and div[-1] == div[-2]: div.pop() div.sort() #print(div) cs=set() a=0 for i in range(n): a+=aa[i] cs.add(a) #print(cs) for d in div: for kd in range(d,s+1,d): if kd not in cs: break else: print(s//d) break main()