#!/bin/python3 import sys def gcd (a,b): if (b == 0): return a else: return gcd (b, a % b) def maximumValue(a): # Return the maximum value of f among all subsegments [l..r]. gcd_list = [] sum_list = [] max_list = [] for i in range(len(a)): for j in range(len(a)): res = a[i] max_num = a[i] for c in a[i:j+1]: res = gcd(res , c) if c > max_num: max_num = c sum_list.append(sum(a[i:j+1])) max_list.append(max_num) gcd_list.append(res) f_list = [] for i in range(len(gcd_list)): f_list.append(gcd_list[i] * (sum_list[i] - max_list[i])) return max(f_list) if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = maximumValue(a) print(result)