def gcd(a,b): while b: a,b = b,a%b return a n =int(raw_input()) l = map(int,raw_input().split()) a,b,c = [],[],[] for i in range(n): g = l[i] a.append(g) for j in range(i+1,n): g = gcd(g,l[j]) a.append(g) for i in range(n): sum1 = l[i] b.append(sum1) for j in range(i+1,n): sum1+=l[j] b.append(sum1) for i in range(n): for j in range(i+1,n+1): p = l[i:j] if p:c.append(max(l[i:j])) d = [] for i in zip(a,b,c): d.append(i[0]*(i[1]-i[2])) #print a,b,c print max(d)