#!/bin/python import sys def find_gcd(x, y): while(y): x, y = y, x % y return x def compute(a,i,j): t = a[i:j+1] if len(t) == 1: g = t[0] else: g = find_gcd(t[0],t[1]) for n in range(2,len(t)): g = find_gcd(g,t[n]) return g * (sum(t)-max(t)) def maximumValue(a): m = 0 # Return the maximum value of f among all subsegments [l..r]. table = [[0]*len(a) for _ in range(len(a))] for i in range(len(a)): for j in range(i,len(a)): table[i][j] = compute(a,i,j) if table[i][j] > m: m = table[i][j] return m if __name__ == "__main__": n = int(raw_input().strip()) a = map(int, raw_input().strip().split(' ')) result = maximumValue(a) print result