#!/bin/python import sys def gcd (a,b): if (b == 0): return a else: return gcd (b, a % b) def maximumValue(a): res1=0 for x in range(0,len(a)): for y in range(x,len(a)): res = a[x] for c in range(x+1,y): res = gcd(res , a[c]) if (x!=y): s=0 for i in range(x,y+1): s=s+a[i] else: s=a[x] m=max(a[x],a[y]) k=(s-m) f=res*k if(f>res1): res1=f return res1 # Return the maximum value of f among all subsegments [l..r]. if __name__ == "__main__": n = int(raw_input().strip()) a = map(int, raw_input().strip().split(' ')) result = maximumValue(a) print result