#naive way to get 15% of the score :/ dont want to fucking code a segment tree problem in the remaining 15 minutes n = int(input()) nums = [int(x) for x in input().split()] def getgcd(a, b): while b: t = a%b a = b b = t return a gcd = [[None for i in range(n)] for j in range(n)] mx = [[None for i in range(n)] for j in range(n)] pre = [0] for i in nums: pre.append(pre[-1] + i) ans = None for i in range(n): for j in range(i, n): if i == j: gcd[i][j] = nums[i] mx[i][j] = nums[i] else: gcd[i][j] = getgcd(gcd[i][j-1], nums[j]) mx[i][j] = max(mx[i][j-1], nums[j]) a = gcd[i][j] * ((pre[j+1] - pre[i]) - mx[i][j]) if ans is None: ans = a else: ans = max(ans, a) print(ans)