#!/bin/python3 import sys import itertools from math import gcd def maximumValue(a): # Return the maximum value of f among all subsegments [l..r]. segments = list(itertools.combinations_with_replacement(list(range(1,len(a)+1)),2)) segments = [(i,j) for i,j in segments if i<=j] #print(segments) m = [] for tup in segments: l = a[tup[0]-1:tup[1]] g = gcd(0,l[0]) for i in range(len(l)-1): g = gcd(l[i],l[i+1]) tot = sum(l) maxi = max(l) result = g*(tot-maxi) m.append(result) return max(m) if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = maximumValue(a) print(result)